Revert "vorbisenc: push an updated segment stop time when we know it"
This reverts commit a16cd5d2a5cbdf084163ead68b59d537d7db99f7. Setting the stop time on the segment breaks reconfiguration, as the encoder signals an EOS, but we reconfigure it an continue to produce buffers. This information should not be required via the segment downstream since we already have the sample count being used to generate buffer durations. https://bugzilla.gnome.org/show_bug.cgi?id=768763
This commit is contained in:
parent
714e3b9741
commit
6c84f4e743
@ -775,27 +775,6 @@ gst_vorbis_enc_output_buffers (GstVorbisEnc * vorbisenc)
|
||||
while (vorbis_bitrate_flushpacket (&vorbisenc->vd, &op)) {
|
||||
GstBuffer *buf;
|
||||
|
||||
if (op.e_o_s) {
|
||||
GstAudioEncoder *enc = GST_AUDIO_ENCODER (vorbisenc);
|
||||
GstClockTime duration;
|
||||
|
||||
GST_DEBUG_OBJECT (vorbisenc, "Got EOS packet from libvorbis");
|
||||
GST_AUDIO_ENCODER_STREAM_LOCK (enc);
|
||||
if (!GST_CLOCK_TIME_IS_VALID (enc->output_segment.stop)) {
|
||||
GST_DEBUG_OBJECT (vorbisenc,
|
||||
"Output segment has no end time, setting");
|
||||
duration =
|
||||
gst_util_uint64_scale (op.granulepos, GST_SECOND,
|
||||
vorbisenc->frequency);
|
||||
enc->output_segment.stop = enc->output_segment.start + duration;
|
||||
GST_DEBUG_OBJECT (enc, "new output segment %" GST_SEGMENT_FORMAT,
|
||||
&enc->output_segment);
|
||||
gst_pad_push_event (GST_AUDIO_ENCODER_SRC_PAD (enc),
|
||||
gst_event_new_segment (&enc->output_segment));
|
||||
}
|
||||
GST_AUDIO_ENCODER_STREAM_UNLOCK (enc);
|
||||
}
|
||||
|
||||
GST_LOG_OBJECT (vorbisenc, "pushing out a data packet");
|
||||
buf =
|
||||
gst_audio_encoder_allocate_output_buffer (GST_AUDIO_ENCODER
|
||||
|
Loading…
x
Reference in New Issue
Block a user