My question is about recording video files with mp4mux (GStreamer-1.0).
I have a C++ application for Android where I get a live stream via udpsrc...the pipeline has a tee. One branch is for showing the video on screen and the other is for running in an appsink. I have a second pipeline (for recording) with appsrc which I connect with the first pipeline. The connection is realized via appsrc-callbacks (need-data signal).
udpsrc - queue - tee - queue - ... - sink for previewing
- queue - appsink
- the video output is showed in the specific window :)
- the connection "appsink-appsrc" also works: I can record a playable mp4-File :) ...but only once! If I want to record a second file, it doesn't work?! The second file is created but not playable.
I know that mp4mux needs EOS, so when I want to stop recording I send EOS to the queue of the second pipeline to close the mp4 file properly. But it seems that this EOS signal destroys my recording pipeline for all the time? Even if I set the state of the recording pipeline to NULL + unref the pipeline + create a new one with a new name and a new connection to the first pipeline I'm not able to get a second playable mp4 file. Does anybody know about this problem? I'm stucked with this :/