mutlifilesink, GST_MULTI_FILE_SINK_NEXT_MAX_SIZE and post-messages

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

mutlifilesink, GST_MULTI_FILE_SINK_NEXT_MAX_SIZE and post-messages

Jose Armando
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
Reply | Threaded
Open this post in threaded view
|

Re: mutlifilesink, GST_MULTI_FILE_SINK_NEXT_MAX_SIZE and post-messages

Tim-Philipp Müller-2
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
Reply | Threaded
Open this post in threaded view
|

Re: mutlifilesink, GST_MULTI_FILE_SINK_NEXT_MAX_SIZE and post-messages

Jose Armando
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