diff mbox

[FFmpeg-devel] lavf/riff: Do not use a rogue twocc for adpcm_swf

Message ID 201609121252.50023.cehoyos@ag.or.at
State Changes Requested
Headers show

Commit Message

Carl Eugen Hoyos Sept. 12, 2016, 10:52 a.m. UTC
Hi!

Attached patch "fixes" ticket #5829, I am happy if a better 
solution can be found.

Please comment, Carl Eugen
From 69d62cac34908fb2a37e37ef1b03b565f2b4ae78 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos@ag.or.at>
Date: Mon, 12 Sep 2016 12:42:33 +0200
Subject: [PATCH] lavf/riff: Do not use a rogue twocc for adpcm_swf.

Fixes ticket #5829.
---
 libavformat/riff.c |    1 -
 1 file changed, 1 deletion(-)

Comments

Carl Eugen Hoyos Sept. 14, 2016, 4:01 p.m. UTC | #1
2016-09-12 12:52 GMT+02:00 Carl Eugen Hoyos <cehoyos@ag.or.at>:

> Attached patch "fixes" ticket #5829, I am happy if a better
> solution can be found.

Ping.

Carl Eugen
Ronald S. Bultje Sept. 14, 2016, 4:05 p.m. UTC | #2
Hi,

On Wed, Sep 14, 2016 at 12:01 PM, Carl Eugen Hoyos <ceffmpeg@gmail.com>
wrote:

> 2016-09-12 12:52 GMT+02:00 Carl Eugen Hoyos <cehoyos@ag.or.at>:
>
> > Attached patch "fixes" ticket #5829, I am happy if a better
> > solution can be found.
>
> Ping.


What makes you believe this is not the right solution? As in: why was the
rogue twocc ever added?

IMO patch is OK, and other rogue twoccs should be removed also, if they
allow creating invalid and unplayable files (like vorbis in wav).

Ronald
Carl Eugen Hoyos Sept. 14, 2016, 4:29 p.m. UTC | #3
Hi!

2016-09-14 18:05 GMT+02:00 Ronald S. Bultje <rsbultje@gmail.com>:
>
> On Wed, Sep 14, 2016 at 12:01 PM, Carl Eugen Hoyos wrote:
>
>> 2016-09-12 12:52 GMT+02:00 Carl Eugen Hoyos <cehoyos@ag.or.at>:
>>
>> > Attached patch "fixes" ticket #5829, I am happy if a better
>> > solution can be found.

> What makes you believe this is not the right solution?

> As in: why was the rogue twocc ever added?

I don't think we will be able to find out (or actually: I don't want to
share my suspicion).

I wondered if somebody can easily fix muxing / demuxing which
could be considered a nicer solution.

Carl Eugen
Ronald S. Bultje Sept. 14, 2016, 5:21 p.m. UTC | #4
Hi,

On Wed, Sep 14, 2016 at 12:29 PM, Carl Eugen Hoyos <ceffmpeg@gmail.com>
wrote:

> Hi!
>
> 2016-09-14 18:05 GMT+02:00 Ronald S. Bultje <rsbultje@gmail.com>:
> >
> > On Wed, Sep 14, 2016 at 12:01 PM, Carl Eugen Hoyos wrote:
> >
> >> 2016-09-12 12:52 GMT+02:00 Carl Eugen Hoyos <cehoyos@ag.or.at>:
> >>
> >> > Attached patch "fixes" ticket #5829, I am happy if a better
> >> > solution can be found.
>
> > What makes you believe this is not the right solution?
>
> > As in: why was the rogue twocc ever added?
>
> I don't think we will be able to find out (or actually: I don't want to
> share my suspicion).
>

I would love to hear.


> I wondered if somebody can easily fix muxing / demuxing which
> could be considered a nicer solution.


You mean remuxing (with -c:a copy) of swf files?

Ronald
Carl Eugen Hoyos Sept. 14, 2016, 5:46 p.m. UTC | #5
2016-09-14 19:21 GMT+02:00 Ronald S. Bultje <rsbultje@gmail.com>:

[...]

>> I wondered if somebody can easily fix muxing / demuxing which
>> could be considered a nicer solution.
>
> You mean remuxing (with -c:a copy) of swf files?

There (also) is an encoder...

Carl Eugen
Ronald S. Bultje Sept. 14, 2016, 8:50 p.m. UTC | #6
Hi,

On Wed, Sep 14, 2016 at 1:46 PM, Carl Eugen Hoyos <ceffmpeg@gmail.com>
wrote:

> 2016-09-14 19:21 GMT+02:00 Ronald S. Bultje <rsbultje@gmail.com>:
>
> [...]
>
> >> I wondered if somebody can easily fix muxing / demuxing which
> >> could be considered a nicer solution.
> >
> > You mean remuxing (with -c:a copy) of swf files?
>
> There (also) is an encoder...


I have literally no idea what you're trying to tell me.

Ronald
Carl Eugen Hoyos Sept. 15, 2016, 10:29 a.m. UTC | #7
Hi!

2016-09-14 22:50 GMT+02:00 Ronald S. Bultje <rsbultje@gmail.com>:
>
> On Wed, Sep 14, 2016 at 1:46 PM, Carl Eugen Hoyos wrote:
>
>> 2016-09-14 19:21 GMT+02:00 Ronald S. Bultje <rsbultje@gmail.com>:

>> >> I wondered if somebody can easily fix muxing / demuxing which
>> >> could be considered a nicer solution.
>> >
>> > You mean remuxing (with -c:a copy) of swf files?
>>
>> There (also) is an encoder...
>
> I have literally no idea what you're trying to tell me.

Current FFmpeg supports decoding and encoding adpcm_swf.
It also supports demuxing and muxing adpcm_swf from and
to swf.
If muxing / demuxing adpcm_swf to and from wav could be
(easily) fixed, this may be a better patch than the one I provided.
(As in: More useful)

Carl Eugen
Michael Niedermayer Sept. 15, 2016, 1:42 p.m. UTC | #8
On Mon, Sep 12, 2016 at 12:52:49PM +0200, Carl Eugen Hoyos wrote:
> Hi!
> 
> Attached patch "fixes" ticket #5829, I am happy if a better 
> solution can be found.
> 
> Please comment, Carl Eugen

>  riff.c |    1 -
>  1 file changed, 1 deletion(-)
> 6113805920f6fb418635029f2f600fcfe1c3fa88  0001-lavf-riff-Do-not-use-a-rogue-twocc-for-adpcm_swf.patch
> From 69d62cac34908fb2a37e37ef1b03b565f2b4ae78 Mon Sep 17 00:00:00 2001
> From: Carl Eugen Hoyos <cehoyos@ag.or.at>
> Date: Mon, 12 Sep 2016 12:42:33 +0200
> Subject: [PATCH] lavf/riff: Do not use a rogue twocc for adpcm_swf.
> 
> Fixes ticket #5829.
> ---
>  libavformat/riff.c |    1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/libavformat/riff.c b/libavformat/riff.c
> index 72ad5d9..06f2996 100644
> --- a/libavformat/riff.c
> +++ b/libavformat/riff.c
> @@ -510,7 +510,6 @@ const AVCodecTag ff_codec_wav_tags[] = {
>      { AV_CODEC_ID_AAC,             0xA106 },
>      { AV_CODEC_ID_SPEEX,           0xA109 },
>      { AV_CODEC_ID_FLAC,            0xF1AC },
> -    { AV_CODEC_ID_ADPCM_SWF,       ('S' << 8) + 'F' },
>      /* HACK/FIXME: Does Vorbis in WAV/AVI have an (in)official ID? */
>      { AV_CODEC_ID_VORBIS,          ('V' << 8) + 'o' },
>      { AV_CODEC_ID_NONE,      0 },

does this affect adpcm_swf in nut ? just guessing didnt try
aka should this maybe be moved into a nut specific table ?

[...]
Carl Eugen Hoyos Sept. 15, 2016, 1:47 p.m. UTC | #9
2016-09-15 15:42 GMT+02:00 Michael Niedermayer <michael@niedermayer.cc>:
>> -    { AV_CODEC_ID_ADPCM_SWF,       ('S' << 8) + 'F' },
>>      /* HACK/FIXME: Does Vorbis in WAV/AVI have an (in)official ID? */
>>      { AV_CODEC_ID_VORBIS,          ('V' << 8) + 'o' },
>>      { AV_CODEC_ID_NONE,      0 },
>
> does this affect adpcm_swf in nut ?

Yes, indeed.

Is it possible to fix adpcm_swf in wav?

Carl Eugen
Michael Niedermayer Sept. 15, 2016, 6:48 p.m. UTC | #10
On Thu, Sep 15, 2016 at 03:47:49PM +0200, Carl Eugen Hoyos wrote:
> 2016-09-15 15:42 GMT+02:00 Michael Niedermayer <michael@niedermayer.cc>:
> >> -    { AV_CODEC_ID_ADPCM_SWF,       ('S' << 8) + 'F' },
> >>      /* HACK/FIXME: Does Vorbis in WAV/AVI have an (in)official ID? */
> >>      { AV_CODEC_ID_VORBIS,          ('V' << 8) + 'o' },
> >>      { AV_CODEC_ID_NONE,      0 },
> >
> > does this affect adpcm_swf in nut ?
> 
> Yes, indeed.
> 
> Is it possible to fix adpcm_swf in wav?

maybe if block_align is set (and is constant)

[...]
diff mbox

Patch

diff --git a/libavformat/riff.c b/libavformat/riff.c
index 72ad5d9..06f2996 100644
--- a/libavformat/riff.c
+++ b/libavformat/riff.c
@@ -510,7 +510,6 @@  const AVCodecTag ff_codec_wav_tags[] = {
     { AV_CODEC_ID_AAC,             0xA106 },
     { AV_CODEC_ID_SPEEX,           0xA109 },
     { AV_CODEC_ID_FLAC,            0xF1AC },
-    { AV_CODEC_ID_ADPCM_SWF,       ('S' << 8) + 'F' },
     /* HACK/FIXME: Does Vorbis in WAV/AVI have an (in)official ID? */
     { AV_CODEC_ID_VORBIS,          ('V' << 8) + 'o' },
     { AV_CODEC_ID_NONE,      0 },