Issue while using queue2 with temp-template
Sameer Naik
sameer.subscriptions at damagehead.com
Tue Feb 15 21:06:21 PST 2011
Further to my investigation i have found that in gstreamer-0.10.31,
the first 4096 bytes are not written out to the file. Additionally a
few bytes ( < 4096) will be missing from the end of the file. The
length of the file saved by filesink will be a multiple of 4096 bytes.
On Wed, Feb 16, 2011 at 8:23 AM, Sameer Naik
<sameer.subscriptions at damagehead.com> wrote:
> Hello,
>
> I am developing and application where i need to download a file over
> http protocol and then feed the file to an application via appsink. In
> the pipeline i need to use queue2 so that the file is saved and i can
> seek through the file.
>
> my application pipeline is as follows:
>
> httpsrc > queue2 > appsink
>
> queue2 has the following properties set.
> - use-buffering=1
> - max-size-time=0
> - max-size-buffers =0
> - max-size-bytes= 2097152 (2 MB)
> - temp-template="/tmp/video-XXXXXX"
>
> I have found that when temp-template is specified, the queue2 element
> does not behave correctly and will behave differently with various
> versions of gstreamer.
>
> with version 0.10.29, every gst_app_sink_pull_buffer () call will
> return the first 4096 bytes.
> with version 0.10.31, it will return garbage.
>
> If temp-template is turned off, then queue2 works correctly.
>
> I tested this behaviour in the launch line using filesink to save the
> file as follows.
>
> gst-launch souphttpsrc location=<file-location> ! queue2
> max-size-time=0 max-size-buffers=0 max-size-bytes=2097152
> use-buffering=1 temp-template=/tmp/video-XXXXXX ! filesink
> location=outfile
>
> In gstreamer version 0.10.29, the saved file will grow indefinitely
> (pipeline never stops) and will have the first 4096 bytes throughout
> the file .
> In gstreamer version 0.10.31, the saved file will stop after
> downloading the file. Saved file won't be the same size as the source
> and is not playable.
>
> However, if the pipeline is constructed so that it is played out. For example.
>
> gst-launch souphttpsrc location=<file-location> ! queue2
> max-size-time=0 max-size-buffers=0 max-size-bytes=2097152
> use-buffering=1 temp-template=/tmp/video-XXXXXX ! demuxer !
> video_decoder ! ffmpegcolorspace ! queue ! xvimagesink
>
> Then the file plays out correctly.
>
> I have no idea why this behaviour is occurring when filesink of
> appsink is used.
> I will be looking into the queue2 sources for possible issues. Any
> pointers in this regard would be really helpful
>
> Thanks and Regards
> ~Sameer
>
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list