Hello everyone, I am developing a small application that captures an audio stream from internet and then splits it in chucks with constant size. This is fairly easy, except that I want when a file is written to create a second file containing metadata. According to the documentation, if the post-messages option is set to TRUE I should receive a message on the bus that says a new file was created along with some additional information. However, I receive no messages. To ensure
that I didn't overlook something I tried the gst-launch utility. Concretelly, if I run gst-launch-0.10 -m mmssrc location=mms://netradio ! multifilesink post-messages=true location=segment_%05d index=5 next-file=0 max-file-size=500000 everything works fine, a new file for each buffer is created (next-file=0) and a message for every new file is printed however if I run gst-launch-0.10
-m mmssrc location=mms://netradio ! multifilesink post-messages=true location=segment_%05d index=5 next-file=4 max-file-size=500000 where now next-file=4 (meaning GST_MULTI_FILE_SINK_NEXT_MAX_SIZE) the generated files have the specified size (500000 bytes) but no messages are posted. I am using GStreamer 0.10.36 . Does anyone know why this happens? many thx Jose _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, 2012-11-16 at 00:17 -0800, Jose Armando wrote:
Hi, > I am developing a small application that captures an audio stream > from internet and then splits it in chucks with constant size. This is > fairly easy, except that I want when a file is written to create a > second file containing metadata. According to the documentation, if > the post-messages option is set to TRUE I should receive a message on > the bus that says a new file was created along with some additional > information. However, I receive no messages. (...) if I run > > gst-launch-0.10 -m mmssrc location=mms://netradio ! multifilesink > post-messages=true location=segment_%05d index=5 next-file=4 > max-file-size=500000 > > where now next-file=4 (meaning GST_MULTI_FILE_SINK_NEXT_MAX_SIZE) the > generated files have the specified size (500000 bytes) but no messages > are posted. I am using GStreamer 0.10.36 . Does anyone know why this > happens? It's not implemented. The code passes a NULL buffer to gst_multi_file_sink_close_file(), which makes it skip the message posting. I guess the reason might be that all the timestamps in the message are more useful if you have a whole file per buffer, otherwise you just get values for the last buffer in the file. Anyway, I've made it post a message for max-size mode as well now in git. Cheers -Tim _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I see. I guess I have to find a different approach since my app will run on a debian(stable) server with the gstreamer package. Anyway, many thanks for the explanation mate, Jose From: Tim-Philipp Müller <[hidden email]> To: [hidden email] Sent: Friday, November 16, 2012 11:13 AM Subject: Re: mutlifilesink, GST_MULTI_FILE_SINK_NEXT_MAX_SIZE and post-messages On Fri, 2012-11-16 at 00:17 -0800, Jose Armando wrote: Hi, > I am developing a small application that captures an audio stream > from internet and then splits it in chucks with constant size. This is > fairly easy, except that I want when a file is written to create a > second file containing metadata. According to the documentation, if > the post-messages option is set to TRUE I should receive a message on > the bus that says a new file was created along with some additional > information. However, I receive no messages. (...) if I run > > gst-launch-0.10 -m mmssrc location=mms://netradio ! multifilesink > post-messages=true location=segment_%05d index=5 next-file=4 > max-file-size=500000 > > where now next-file=4 (meaning GST_MULTI_FILE_SINK_NEXT_MAX_SIZE) the > generated files have the specified size (500000 bytes) but no messages > are posted. I am using GStreamer 0.10.36 . Does anyone know why this > happens? It's not implemented. The code passes a NULL buffer to gst_multi_file_sink_close_file(), which makes it skip the message posting. I guess the reason might be that all the timestamps in the message are more useful if you have a whole file per buffer, otherwise you just get values for the last buffer in the file. Anyway, I've made it post a message for max-size mode as well now in git. Cheers -Tim _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |