[FFmpeg-devel] [PATCH] rmenc.c: remove index writing

Kostya kostya.shishkov
Sat Mar 21 20:30:06 CET 2009


On Sat, Mar 21, 2009 at 12:52:29PM -0400, Ronald S. Bultje wrote:
> Hi,
> 
> index writing in rmenc.c is broken:
> - it is always empty
> - it writes a single index chunk for all streams, instead of one per
> stream (see warning for b-libav.rm in testsuite)

the doc says "usually", so RealPlayer should be able to grok it
(when you add index writing support, of course)

> Attached patch removes it so it can at some point be added correctly.
> 
> Ronald

> Index: ffmpeg-svn/libavformat/rmenc.c
> ===================================================================
> --- ffmpeg-svn.orig/libavformat/rmenc.c	2009-02-21 09:39:45.000000000 -0500
> +++ ffmpeg-svn/libavformat/rmenc.c	2009-03-21 12:39:20.000000000 -0400
> @@ -425,16 +425,8 @@
>          index_pos = url_fseek(pb, 0, SEEK_CUR);
>          data_size = index_pos - rm->data_pos;
>  
> -        /* index */
> -        put_tag(pb, "INDX");
> -        put_be32(pb, 10 + 10 * s->nb_streams);
> -        put_be16(pb, 0);
> +        /* FIXME: write index */
>  
> -        for(i=0;i<s->nb_streams;i++) {
> -            put_be32(pb, 0); /* zero indexes */
> -            put_be16(pb, i); /* stream number */
> -            put_be32(pb, 0); /* next index */
> -        }
>          /* undocumented end header */
>          put_be32(pb, 0);
>          put_be32(pb, 0);
> @@ -442,7 +434,7 @@
>          url_fseek(pb, 0, SEEK_SET);
>          for(i=0;i<s->nb_streams;i++)
>              rm->streams[i].total_frames = rm->streams[i].nb_frames;
> -        rv10_write_header(s, data_size, index_pos);
> +        rv10_write_header(s, data_size, 0);
>      } else {
>          /* undocumented end header */
>          put_be32(pb, 0);
> Index: ffmpeg-svn/tests/ffmpeg.regression.ref
> ===================================================================
> --- ffmpeg-svn.orig/tests/ffmpeg.regression.ref	2009-02-05 17:26:06.000000000 -0500
> +++ ffmpeg-svn/tests/ffmpeg.regression.ref	2009-03-21 12:50:20.000000000 -0400
> @@ -118,12 +118,12 @@
>  9086168 ./tests/data/a-jpegls.avi
>  012717e7c928641410eaa6abaf126fdc *./tests/data/jpegls.vsynth.out.yuv
>  stddev:    2.84 PSNR: 39.05 bytes:  7603200/  7603200
> -99ef24bf57718fd29a7a91b22af2b3fe *./tests/data/a-rv10.rm
> -667935 ./tests/data/a-rv10.rm
> +1cc26cf6711df770e81bcfce36f28011 *./tests/data/a-rv10.rm
> +  667915 ./tests/data/a-rv10.rm

 ^^^ please remove spaces from such lines before commit

>  d507be4253a9c8211a3738c58ba28118 *./tests/data/rv10.vsynth.out.yuv
>  stddev:    8.06 PSNR: 29.99 bytes:  7603200/  7603200
> -d1caf150a7b53db8fd5eb8c1d0701daf *./tests/data/a-rv20.rm
> -640876 ./tests/data/a-rv20.rm
> +02f1ec304a066c3bfb355adbdf4c5977 *./tests/data/a-rv20.rm
> +  640856 ./tests/data/a-rv20.rm
>  297dc46da1a256c0a97158c036c30c7f *./tests/data/rv20.vsynth.out.yuv
>  stddev:    8.26 PSNR: 29.77 bytes:  7603200/  7603200
>  d13292f4583618d1b7b525a9ee010dff *./tests/data/a-asv1.avi
> @@ -175,8 +175,8 @@
>  83f8df5d5f84480566af548bb037fceb *./tests/data/mp2.vsynth.out.wav
>  stddev: 9328.41 PSNR: 16.92 bytes:  1055276/  1058444
>  stddev: 4394.71 PSNR: 23.46 bytes:  1053352/  1058444
> -aefe11ab5067621a1c674859d6413891 *./tests/data/a-ac3.rm
> -98203 ./tests/data/a-ac3.rm
> +3bfe347421de458dbfe572b8d4047b46 *./tests/data/a-ac3.rm
> +   98183 ./tests/data/a-ac3.rm
>  39878597b1d65cce473639a7d8c93b02 *./tests/data/a-g726.wav
>  24279 ./tests/data/a-g726.wav
>  888f2f016e608d044a1bacbca5497ed2 *./tests/data/g726.vsynth.out.wav

except for that patch ok



More information about the ffmpeg-devel mailing list