[FFmpeg-devel] [PATCH v11] avformat: add demuxer for Pro Pinball Series' Soundbanks

Zane van Iperen zane at zanevaniperen.com
Sun May 3 16:43:24 EEST 2020


On Sun, 3 May 2020 15:23:19 +0200
"Michael Niedermayer" <michael at niedermayer.cc> wrote:

> On Fri, May 01, 2020 at 12:55:18AM +0000, Zane van Iperen wrote:
> > On Fri, 01 May 2020 00:36:57 +0000
> > "Zane van Iperen" <zane at zanevaniperen.com> wrote:
> >  
> > > On Fri, 1 May 2020 01:09:17 +0200
> > > "Michael Niedermayer" <michael at niedermayer.cc> wrote:
> > >  
> > > > > +    size = FFMIN(trk->data_size - ctx->bytes_read,
> > > > > PP_BNK_MAX_READ_SIZE); +
> > > > > +    if ((ret = av_get_packet(s->pb, pkt, size)) < 0)
> > > > > +        return ret;
> > > > > +
> > > > > +    ctx->bytes_read    += ret;
> > > > > +    pkt->flags         &= ~AV_PKT_FLAG_CORRUPT;
> > > > > +    pkt->stream_index   = ctx->current_track;
> > > > > +    pkt->duration       = ret * 2;  
> > > >
> > > > With this each stream would be returned completely before the
> > > > next such non interleaved output is a bit odd.
> > > >  
> > >
> > > Yep, it's an odd format.  Some files are meant to be stereo, but I
> > > can't present them as such. I have to present them as separate
> > > mono streams and merge them with a filter.
> > >  
> > > > also where can i find such a file ?
> > > >  
> > >
> > > Here's a file I trimmed for FATE:
> > >
> > > https://0x0.st/ie7O.11c
> > >  
> > Probably should have mentioned that first file is meant to be stereo
> > music.
> >
> > Here's one that's meant to be just a bunch of mono tracks:
> > https://0x0.st/ie74.5C  
> 
> just tried, and as expected this doesnt work
> 
> ./ffmpeg -i pinball/ie74.5C -map 0 test.nut
> ...
> Press [q] to stop, [?] for help
> Too many packets buffered for output stream 0:1.
> [libvorbis @ 0x557f49f3da40] 16 frames left in the queue on closing
> [libvorbis @ 0x557f49f3f340] 14 frames left in the queue on closing
> Conversion failed!
> 

Interesting... that worked for me :/

./ffmpeg -y -i pp/ie74.5C -map 0 test.nut
...
[nut @ 0x55615988d700] Multiple keyframes with same PTS
    Last message repeated 5 times
size=     632kB time=00:00:06.37 bitrate= 812.2kbits/s speed=59.8x    
video:0kB audio:630kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.366753%


This isn't a valid use case for this file format regardless, as they're soundbanks.
Each stream should be split into a separate file, and it's almost guaranteed that they're all different lengths.

If this is required, then I'm not sure of the best course of action is.
Unless I constantly seek back and forth in the file, but that seems messy...

Zane



More information about the ffmpeg-devel mailing list