diff --git a/ext/theora/gsttheoraenc.c b/ext/theora/gsttheoraenc.c index 5caf262a9b..7610e9bc47 100644 --- a/ext/theora/gsttheoraenc.c +++ b/ext/theora/gsttheoraenc.c @@ -508,7 +508,13 @@ theora_enc_reset (GstTheoraEnc * enc) GST_OBJECT_LOCK (enc); enc->info.target_bitrate = enc->video_bitrate; - enc->info.quality = enc->video_quality; + if (enc->quality_changed) { + enc->info.quality = enc->video_quality; + } else { + if (enc->video_bitrate == 0) { + enc->info.quality = enc->video_quality; + } + } enc->bitrate_changed = FALSE; enc->quality_changed = FALSE; GST_OBJECT_UNLOCK (enc);