GNOME Bugzilla – Bug 740422
vorbisenc: Nothing encoded in some transcoding cases (regression)
Last modified: 2015-01-17 00:04:06 UTC
Steps to reproduce: $ gst-validate-launcher --sync -t validate.file.transcode.to_vorbis_and_theora_in_ogg.GH1_00094_1920x1280_MTS That leads to a "Result: Failed (Could not discover encoded file file:///home/thiblahute/gst-validate/rendered/validate/file/to_vorbis_and_theora_in_ogg/GH1_00094_1920x1280_MTS)", meaning that the resulting file has issues. You can find that resulting file in: $HOME/gst-validate/rendered/validate/file/to_vorbis_and_theora_in_ogg/GH1_00094_1920x1280_MTS but that file is 'corrupted', playing it back with: $ gst-launch-1.0 playbin uri=file:///$HOME/gst-validate/rendered/validate/file/to_vorbis_and_theora_in_ogg/GH1_00094_1920x1280_MTS leads to: Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstVorbisDec:vorbisdec0: No valid frames decoded before end of stream Additional debug info: gstaudiodecoder.c(2087): gst_audio_decoder_sink_eventfunc (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstVorbisDec:vorbisdec0: no valid frames found ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... The faulty commit is: commit a16cd5d2a5cbdf084163ead68b59d537d7db99f7 Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Thu Jun 5 14:50:15 2014 +0100 vorbisenc: push an updated segment stop time when we know it When encoding, libvorbis will tell us how many samples are encoded in the buffer it returns. This number may be less than the maximum of samples in the block, if this is the last packet. In we have no segment end time, we set it to the end time of that last sample to tell downstream that the buffer contains less samples.
How can I repro this without having to sync tons of files (the command you gave does this, and fails midway) ? Removing --sync seems it might skip the load, but it fails too (different error). I'm interested in the gst-launch command that it eventually runs.
Yeah, archive.org is down, I need to find another backup place where to put samples :/ You can just grab the file from: http://people.collabora.co.uk/~tsaunier/GH1_00094_1920x1280.MTS and then run (fixing the paths): gst-validate-transcoding-1.0 -o "application/ogg:video/x-theora:audio/x-vorbis" file:///home/thiblahute/gst-validate/gst-integration-testsuites/medias/defaults/mpegts/GH1_00094_1920x1280.MTS file:///home/thiblahute/gst-validate/rendered/validate/file/to_vorbis_and_theora_in_ogg/GH1_00094_1920x1280_MTS
Thanks, I can see the issue too now.
Created attachment 292621 [details] [review] fix clipped duration determination for non 0 based segments The bad patch was actually a related one in oggmux. The attached patch fixes the issue. However, the gst-validate still fails (also without any of the relevant patches, so I think this is a separate issue altogether, especially as the error message for the failure complains about a audio/x-ac3 caps). I'll leave that bug open for now, just in case.
That's this one pushed. Still keeping open on the off chance the ac3 caps issue is somehow related. Otherwise I guess this bug should be cloned and closed. commit fbff44711afa01e1c4f2dff7a6f3f960ab36ec13 Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Fri Dec 12 17:02:35 2014 +0000 oggmux: fix clipped duration determination for non 0 based segments https://bugzilla.gnome.org/show_bug.cgi?id=740422
If the AC-3 issue happens with and without patch, it's likely not related, so let's just close this.