diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/flac/gstflacdec.c | 8 |
2 files changed, 12 insertions, 1 deletions
@@ -1,5 +1,10 @@ 2006-04-20 Tim-Philipp Müller <tim at centricular dot net> + * ext/flac/gstflacdec.c: (gst_flac_dec_loop): + Post SEGMENT_DONE message in TIME format. + +2006-04-20 Tim-Philipp Müller <tim at centricular dot net> + Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it> * gst/avi/gstavidemux.c: (gst_avi_demux_peek_tag), diff --git a/ext/flac/gstflacdec.c b/ext/flac/gstflacdec.c index c174562b..946d9b38 100644 --- a/ext/flac/gstflacdec.c +++ b/ext/flac/gstflacdec.c @@ -791,15 +791,21 @@ analyze_state: if (flacdec->segment.stop != -1 && flacdec->segment.last_stop > 0 && flacdec->segment.last_stop >= flacdec->segment.stop) { + gint64 stop_time; + GST_DEBUG_OBJECT (flacdec, "reached end of the configured segment"); if ((flacdec->segment.flags & GST_SEEK_FLAG_SEGMENT) == 0) goto eos_and_pause; GST_DEBUG_OBJECT (flacdec, "posting SEGMENT_DONE message"); + + stop_time = gst_util_uint64_scale_int (flacdec->segment.stop, + GST_SECOND, flacdec->sample_rate); + gst_element_post_message (GST_ELEMENT (flacdec), gst_message_new_segment_done (GST_OBJECT (flacdec), - GST_FORMAT_DEFAULT, flacdec->segment.stop)); + GST_FORMAT_TIME, stop_time)); goto pause; } |