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 772018 - avdec_wmalossless: Add support for 24-bit format
avdec_wmalossless: Add support for 24-bit format
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-09-27 00:11 UTC by Olivier Crête
Modified: 2018-11-03 12:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
avcodecmap: Enable 24 bit WMA Lossless decoding (988 bytes, patch)
2016-09-27 00:13 UTC, Olivier Crête
reviewed Details | Review
Drop frame from GstAudioDecoder base class if no data was received (980 bytes, patch)
2016-09-27 00:13 UTC, Olivier Crête
rejected Details | Review

Description Olivier Crête 2016-09-27 00:11:25 UTC
The upstream ffmpeg now fully supports 24-bit PCM output for WMA Lossless, not only 16 bit.

The problem is that when getting data in this mode, it produces one valid output frame for 3 input frames. I'm attaching a patch that makes it work, but I'm totally unsure if it does the right thing.

Here is a test file: http://people.freedesktop.org/~tester/45s-96khz-24bit-51ch-lossless.wma
Comment 1 Olivier Crête 2016-09-27 00:13:45 UTC
Created attachment 336306 [details] [review]
avcodecmap: Enable 24 bit WMA Lossless decoding

This now works with recent ffmpeg.
Comment 2 Olivier Crête 2016-09-27 00:13:49 UTC
Created attachment 336307 [details] [review]
Drop frame from GstAudioDecoder base class if no data was received
Comment 3 Sebastian Dröge (slomo) 2016-09-27 07:36:22 UTC
Comment on attachment 336307 [details] [review]
Drop frame from GstAudioDecoder base class if no data was received

The problem here is that we might also not have data yet because the decoder is queueing up internally. Finishing the frame would then cause timestamp tracking and everything to go out of sync with reality.
Comment 4 Olivier Crête 2016-09-29 23:42:05 UTC
@slomo: This is exactly what I was afraid of, I'm not sure if we can differentiate both somehow?
Comment 5 Sebastian Dröge (slomo) 2016-09-30 06:36:57 UTC
Why is the decoder dropping data if it was not a header and there was no error?
Comment 6 Olivier Crête 2016-10-03 18:39:47 UTC
I don't think the decoder is dropping data, I think it needs ~3 input buffers per output buffer. So it may be that the demuxer is not doing it right, or maybe we need a parser for this particular format?
Comment 7 Sebastian Dröge (slomo) 2016-10-04 04:38:09 UTC
Sounds like some parsing is needed, yes
Comment 8 Olivier Crête 2016-10-20 13:32:09 UTC
enabling WMA lossless without the other patch results in bad output.
Comment 9 GStreamer system administrator 2018-11-03 12:57:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/28.