After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 740422 - vorbisenc: Nothing encoded in some transcoding cases (regression)
vorbisenc: Nothing encoded in some transcoding cases (regression)
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-11-20 11:55 UTC by Thibault Saunier
Modified: 2015-01-17 00:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
fix clipped duration determination for non 0 based segments (1.02 KB, patch)
2014-12-12 17:08 UTC, Vincent Penquerc'h
committed Details | Review

Description Thibault Saunier 2014-11-20 11:55:15 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.
Comment 1 Vincent Penquerc'h 2014-12-12 11:37:47 UTC
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.
Comment 2 Thibault Saunier 2014-12-12 12:08:49 UTC
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
Comment 3 Vincent Penquerc'h 2014-12-12 12:16:30 UTC
Thanks, I can see the issue too now.
Comment 4 Vincent Penquerc'h 2014-12-12 17:08:11 UTC
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.
Comment 5 Vincent Penquerc'h 2015-01-16 15:57:52 UTC
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
Comment 6 Tim-Philipp Müller 2015-01-17 00:04:06 UTC
If the AC-3 issue happens with and without patch, it's likely not related, so let's just close this.