Temp File Wrapping in queue2

wafflesrg00d wafflesrg00d at yahoo.com
Thu Jul 21 14:05:07 UTC 2016


Given the below launch string, I'm hoping to get wrapping [once again?]
working when using queue2's temp file feature, so that if the temp file
starts to extend past available disk space, it will wrap to the beginning of
the file and start overwriting.  Maybe I'm just missing something painfully
obvious, and file wrapping does work under some specific condition?

gst-launch-1.0 udpsrc uri=udp://192.168.1.100:5004 buffer-size=10485760 !
queue2 temp-template=/video/video_XXXXXX.tmp temp-remove=false ! decodebin !
videoconvert ! videoscale ! ximagesink

If I'm not wrong in my observation, it looks like, perhaps, temp file
wrapping once worked in queue2, or that it was intended to work, as the
wrapping section of gst_queue2_create_write () checks for
QUEUE_IS_USING_TEMP_FILE ().  On the other hand, though, the following
checks for a failed file seek keep the aforementioned wrapping section from
ever being hit if the file size spans remaining available disk space.

    if (QUEUE_IS_USING_TEMP_FILE (queue)
        && FSEEK_FILE (queue->temp_file, writing_pos))
      goto seek_failed;

As of right now, wrapping seems to work when using queue2's ring buffer, but
I'm strictly looking to buffer to file, not memory.  I've attempted to edit
both queue2 and downloadbuffer sources to get wrapping working like when
using the ring buffer, but have failed on both counts.  The closest I've
gotten is with queue2, and my efforts so far have yielded just terrible
video quality, much like one would encounter during heavy packet loss.

Has anyone successfully implemented file wrapping, or does anyone have any
insight as to how I might better approach this?  I can certainly supply my
code changes, if anyone is interested in inspecting.

Erik? Tim?

Thanks.



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Temp-File-Wrapping-in-queue2-tp4678785.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list