gstreamer splitmuxsink keep output file in memory, appsink?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

gstreamer splitmuxsink keep output file in memory, appsink?

hassanctech
I have a gstreamer pipeline with a splitmuxsink using an mp4muxer and the
sink is an appsink.  What I'm hoping to do is in the new-sample event
handler I want to receive the entire finished mp4 file in a buffer and
instead of saving it locally to a file I want to upload it somewhere.  If I
replace the appsink with a filesink everything works fine.  But I change the
sink property of the splitmuxsink to be an appsink I get:

Error received from element mp4mux: Downstream is not seekable - will not be
able to create a playable file
Debugging information: gstqtmux.c(2127): gst_qt_mux_start_file ():
/GstPipeline:a-pipeline/GstSplitMuxSink:a_splitmuxsink/GstMP4Mux:mp4mux

What I want is for the new-sample handler to get invoked every time I have a
fully formed mp4 file, but the pipeline just stops after about 2-3 seconds
with the above error so having the appsink element is somehow causing the
pipeline to get jammed and error out.  Any ideas/help here would be greatly
appreciated!



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: gstreamer splitmuxsink keep output file in memory, appsink?

Gst-Geek
mp4mux expects sink to be seekable as it seeks to moov block and writes the
final moov.
Seek is not possible in appsink.

>What I want is for the new-sample handler to get invoked every time I have
a
>fully formed mp4 file, but the pipeline just stops after about 2-3 seconds
> with the above error so having the appsink element is somehow causing the
> pipeline to get jammed and error out.  Any ideas/help here would be
> greatly
> appreciated!

splitmuxsink does not supports full file writing, Instead splitmuxsink
writes data to sink GOP by GOP.

For you mpegtsmux or flvmux will work as it do not require header writing.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel