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?

ShilVin
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