Skip to content

Commit

Permalink
Fix: gstreamer top left corruption and states (#1019)
Browse files Browse the repository at this point in the history
Fix 73-byte corruption in the top left corner
  The issue was caused by using void pointers
  instead of the proper GStreamer memory
  management functions. This led to memory
  structures being saved in the output stream,
  causing corruption in the top left corner.

Cleanup the code
  Make the _chain function much simpler without
  any lingering variables in the _mtltxsink
  structure.

Add support for framebuffer argument
Add support for fps argument that overrides the
  framerate of the capabilities.
 
Fix Ensure Gstreamer plugin reaches PLAYING state
  Force the Gstreamer plugin into the PLAYING state
  to prevent reinitialization of the pipeline.
  This is achieved by disabling ASYNC state handling
  and manually setting the state to PLAYING.
  Additionally, send EOS when it is received,
  to signal the end of processing.

Example usage:
gst-launch-1.0 videotestsrc location=$INPUT ! \
  video/x-raw,format=I420,width=640,height=480 ! \
  gstmtltxsink tx-queues=4 tx-udp-port=20000 \
    tx-payload-type=112 dev-ip="192.168.96.3" \
    tx-ip="239.168.75.30" dev-port="$DPDK_PORT" \
    tx-fps=60
   

fixes: ed91d38c38b1b1571ec84826154c3ff8b8695ced
  • Loading branch information
DawidWesierski4 authored Dec 13, 2024
1 parent 08139b4 commit 371d2b0
Show file tree
Hide file tree
Showing 2 changed files with 230 additions and 181 deletions.
Loading

0 comments on commit 371d2b0

Please sign in to comment.