[Bug 770469] aacparse converts mpeg2 aac to mpeg4 aac unconditionally
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Sep 5 16:32:46 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=770469
Vincent Penquerc'h <vincent.penquerch at collabora.co.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vincent.penquerch at collabora
| |.co.uk
--- Comment #1 from Vincent Penquerc'h <vincent.penquerch at collabora.co.uk> ---
This is very confusing.
Discoverer says:
container: MPEG-2 Transport Stream
audio: MPEG-2 AAC
audio: MPEG-4 AAC
video: H.264
Properties:
Duration: 0:00:12.589853592
Seekable: yes
Tags:
audio codec: MPEG-2 AAC
video codec: H.264
So it's MPEG-4 AAC inside MPEG-2.
https://wiki.multimedia.cx/index.php?title=ADTS says bit 0x8 in the second byte
should be 1 for MPEG-2 AAC, and 0 for MPEG-4 AAC. It happens to be 0 here,
pointing to MPEG-4. This is also what the discoverer uses to detect 2 and 4.
Now, the caps saying mpegversion=2 are set by tsdemux, not by aacparse nor the
discoverer. tsdemux.c:1575 sets it to 2 unconditionally, without caring for
that 0x8 bit. So I think it's tsdemux that's wrong here, and the audio really
is MPEG-4, despite being in MPEG-2. There doesn't seem to be obvious access to
the data to check bit 0x8 where this is done in tsdemux, I'll have to
investigate how to get at it.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list