diff mbox

[FFmpeg-devel] libavformat/gdv: Fix parsing for soundless video

Message ID 20170702201055.10259-1-azamat.hackimov@gmail.com
State New
Headers show

Commit Message

Azamat H. Hackimov July 2, 2017, 8:10 p.m. UTC
Added 2 byte skipping if there no sound present, that fixes playback
files without sound stream.
---
 libavformat/gdv.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Michael Niedermayer July 4, 2017, 11:10 a.m. UTC | #1
On Mon, Jul 03, 2017 at 01:10:55AM +0500, Azamat H. Hackimov wrote:
> Added 2 byte skipping if there no sound present, that fixes playback
> files without sound stream.
> ---
>  libavformat/gdv.c | 2 ++
>  1 file changed, 2 insertions(+)

can you share a sample ?
and also add a fate test with some (small) sample ?

thx

[...]
Azamat H. Hackimov July 4, 2017, 6:41 p.m. UTC | #2
FATE checks commit sent. Here reference files -
https://drive.google.com/open?id=0B8VpSH5prLMrVHppWDBPaG1aTVk

ace.gdv - without audio stream
gremlogo.gdv - with audio stream

Both files taken from Realms of the Haunting game.

2017-07-04 16:10 GMT+05:00 Michael Niedermayer <michael@niedermayer.cc>:

> On Mon, Jul 03, 2017 at 01:10:55AM +0500, Azamat H. Hackimov wrote:
> > Added 2 byte skipping if there no sound present, that fixes playback
> > files without sound stream.
> > ---
> >  libavformat/gdv.c | 2 ++
> >  1 file changed, 2 insertions(+)
>
> can you share a sample ?
> and also add a fate test with some (small) sample ?
>
> thx
>
> [...]
>
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Those who are too smart to engage in politics are punished by being
> governed by those who are dumber. -- Plato
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
Michael Niedermayer July 5, 2017, 2:06 a.m. UTC | #3
On Tue, Jul 04, 2017 at 11:41:33PM +0500, Azamat Hackimov wrote:
> FATE checks commit sent. Here reference files -
> https://drive.google.com/open?id=0B8VpSH5prLMrVHppWDBPaG1aTVk
> 
> ace.gdv - without audio stream

> gremlogo.gdv - with audio stream

this is with 2mb a bit big, is there a smaller file or can it be
truncated without loosing coverage ?

[...]
Azamat H. Hackimov July 5, 2017, 2:48 a.m. UTC | #4
Here another file chptr1.gdv, 0,5 Mb long:
https://drive.google.com/file/d/0B8VpSH5prLMrT1pFejhQV2tQWWs/view?usp=sharing

2017-07-05 7:06 GMT+05:00 Michael Niedermayer <michael@niedermayer.cc>:

> On Tue, Jul 04, 2017 at 11:41:33PM +0500, Azamat Hackimov wrote:
> > FATE checks commit sent. Here reference files -
> > https://drive.google.com/open?id=0B8VpSH5prLMrVHppWDBPaG1aTVk
> >
> > ace.gdv - without audio stream
>
> > gremlogo.gdv - with audio stream
>
> this is with 2mb a bit big, is there a smaller file or can it be
> truncated without loosing coverage ?
>
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> If a bugfix only changes things apparently unrelated to the bug with no
> further explanation, that is a good sign that the bugfix is wrong.
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
Michael Niedermayer July 5, 2017, 2:26 p.m. UTC | #5
On Wed, Jul 05, 2017 at 07:48:18AM +0500, Azamat Hackimov wrote:
> Here another file chptr1.gdv, 0,5 Mb long:
> https://drive.google.com/file/d/0B8VpSH5prLMrT1pFejhQV2tQWWs/view?usp=sharing

uploaded to
gdv/ace.gdv
gdv/chptr1.gdv

thx

[...]
Michael Niedermayer July 5, 2017, 9:24 p.m. UTC | #6
On Mon, Jul 03, 2017 at 01:10:55AM +0500, Azamat H. Hackimov wrote:
> Added 2 byte skipping if there no sound present, that fixes playback
> files without sound stream.
> ---
>  libavformat/gdv.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libavformat/gdv.c b/libavformat/gdv.c
> index 90692bd61c..32209320a7 100644
> --- a/libavformat/gdv.c
> +++ b/libavformat/gdv.c
> @@ -107,6 +107,8 @@ static int gdv_read_header(AVFormatContext *ctx)
>          gdv->audio_size = (ast->codecpar->sample_rate / fps) *
>                             ast->codecpar->channels * (1 + !!(snd_flags & 4)) / (1 + !!(snd_flags & 8));
>          gdv->is_audio = 1;
> +    } else {
> +        avio_skip(pb, 2);
>      }
>      vid_depth = avio_rl16(pb);
>      avio_skip(pb, 4);
> -- 
> 2.13.0

applied

thx

[...]
diff mbox

Patch

diff --git a/libavformat/gdv.c b/libavformat/gdv.c
index 90692bd61c..32209320a7 100644
--- a/libavformat/gdv.c
+++ b/libavformat/gdv.c
@@ -107,6 +107,8 @@  static int gdv_read_header(AVFormatContext *ctx)
         gdv->audio_size = (ast->codecpar->sample_rate / fps) *
                            ast->codecpar->channels * (1 + !!(snd_flags & 4)) / (1 + !!(snd_flags & 8));
         gdv->is_audio = 1;
+    } else {
+        avio_skip(pb, 2);
     }
     vid_depth = avio_rl16(pb);
     avio_skip(pb, 4);