Re: [FFmpeg-devel] [PATCH 1/2] Use QT format for audio sample descriptors depending on stsd version.

2018-09-06 Thread John Stebbins
On 09/06/2018 09:18 AM, Derek Buitenhuis wrote:
> On 06/09/2018 17:13, Carl Eugen Hoyos wrote:
>> Please mention ticket #7376 (and the Handbrake issue) in the commit
>> message.
> Wasn't aware there were tickets already, woops.
>
> Added locally.
>
>

Looks like this also supersedes my earlier patch to fix the same problem... 
your solution is better, thanks ;)

https://ffmpeg.org/pipermail/ffmpeg-devel/2018-August/233733.html

-- 
John  GnuPG fingerprint: D0EC B3DB C372 D1F1 0B01  83F0 49F1 D7B2 60D4 D0F7




signature.asc
Description: OpenPGP digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/2] Use QT format for audio sample descriptors depending on stsd version.

2018-09-06 Thread Derek Buitenhuis
On 06/09/2018 17:13, Carl Eugen Hoyos wrote:
> Please mention ticket #7376 (and the Handbrake issue) in the commit
> message.

Wasn't aware there were tickets already, woops.

Added locally.

- Derek
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/2] Use QT format for audio sample descriptors depending on stsd version.

2018-09-06 Thread Carl Eugen Hoyos
2018-09-06 17:35 GMT+02:00, Derek Buitenhuis :
> From: Justin Ruggles 
>
> ISOBMFF does not allow AudioSampleEntryV1 in stsd version 0, so
> assume the descriptor format is QTFF SoundDescriptionV1. ISOBMFF does
> not define a version 2.
>
> This fixes audio decoding for some MP4 files generated with Apple
> tools. The additional fields present in SoundDescriptionV1/V2 need to
> be read in order to correctly read additional boxes that contain
> information required for decoding the stream.

Please mention ticket #7376 (and the Handbrake issue) in the commit
message.

Thank you, Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 1/2] Use QT format for audio sample descriptors depending on stsd version.

2018-09-06 Thread Derek Buitenhuis
From: Justin Ruggles 

ISOBMFF does not allow AudioSampleEntryV1 in stsd version 0, so
assume the descriptor format is QTFF SoundDescriptionV1. ISOBMFF does
not define a version 2.

This fixes audio decoding for some MP4 files generated with Apple
tools. The additional fields present in SoundDescriptionV1/V2 need to
be read in order to correctly read additional boxes that contain
information required for decoding the stream.

Signed-off-by: Derek Buitenhuis 
---
 libavformat/isom.h | 1 +
 libavformat/mov.c  | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/libavformat/isom.h b/libavformat/isom.h
index 51abea52de..89659db8ee 100644
--- a/libavformat/isom.h
+++ b/libavformat/isom.h
@@ -217,6 +217,7 @@ typedef struct MOVStreamContext {
 int *extradata_size;
 int last_stsd_index;
 int stsd_count;
+int stsd_version;
 
 int32_t *display_matrix;
 AVStereo3D *stereo3d;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index d922e0f173..ea99616dc8 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2120,8 +2120,8 @@ static void mov_parse_stsd_audio(MOVContext *c, 
AVIOContext *pb,
 // Read QT version 1 fields. In version 0 these do not exist.
 av_log(c->fc, AV_LOG_TRACE, "version =%d, isom =%d\n", version, c->isom);
 if (!c->isom ||
-(compatible_brands && strstr(compatible_brands->value, "qt  "))) {
-
+(compatible_brands && strstr(compatible_brands->value, "qt  ")) ||
+(sc->stsd_version == 0 && version > 0)) {
 if (version == 1) {
 sc->samples_per_frame = avio_rb32(pb);
 avio_rb32(pb); /* bytes per packet */
@@ -2554,7 +2554,7 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 st = c->fc->streams[c->fc->nb_streams - 1];
 sc = st->priv_data;
 
-avio_r8(pb); /* version */
+sc->stsd_version = avio_r8(pb);
 avio_rb24(pb); /* flags */
 entries = avio_rb32(pb);
 
-- 
2.18.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel