[FFmpeg-devel] [PATCH] Matroska Muxer

David Conrad umovimus
Thu Aug 30 06:10:24 CEST 2007


On Aug 21, 2007, at 12:33 PM, Michael Niedermayer wrote:

> Hi
>
> On Mon, Aug 20, 2007 at 04:30:32PM -0400, David Conrad wrote:
> [...]
>> New patch minus the combining of ebml_id_size/put_ebml_id with
>> ebml_size_bytes/put_ebml_size attached.
>>
>
> [...]
>
>> +static int put_flac_codecpriv(ByteIOContext *pb, AVCodecContext  
>> *codec)
>> +{
>> +    // if the extradata_size is greater than FLAC_STREAMINFO_SIZE,
>> +    // assume that it's in Matroska's format already
>> +    if (codec->extradata_size < FLAC_STREAMINFO_SIZE) {
>> +        av_log(codec, AV_LOG_ERROR, "Invalid FLAC extradata\n");
>
> codec is wrong here, its the muxer not the codec which prints the  
> message

Fixed.

> [...]
>> @@ -2888,6 +2888,61 @@ ret: 0 st: 0 dts:0.480000  
>> pts:-184467440737095520.000000 pos:376324 size:54324 f
>>  ret: 0 st:-1 ts:-0.645825 flags:1
>>  ret: 0 st: 0 dts:0.000000 pts:-184467440737095520.000000 pos:748  
>> size:55568 flags:1
>>  ----------------
>> +tests/data/b-libav.mkv
>> +ret: 0 st: 0 dts:0.000000 pts:0.000000 pos:468 size:28118 flags:1
>> +ret: 0 st:-1 ts:-1.000000 flags:0
>> +ret:-5
>> +ret: 0 st:-1 ts:1.894167 flags:1
>> +ret:-5
>> +ret: 0 st: 0 ts:0.788000 flags:0
>> +ret:-5
>> +ret: 0 st: 0 ts:-0.317000 flags:1
>> +ret:-5
>> +ret: 0 st: 1 ts:2.577000 flags:0
>> +ret:-5
>> +ret: 0 st: 1 ts:1.471000 flags:1
>> +ret:-5
>> +ret: 0 st:-1 ts:0.365002 flags:0
>> +ret:-5
>> +ret: 0 st:-1 ts:-0.740831 flags:1
>> +ret:-5
>> +ret: 0 st: 0 ts:2.153000 flags:0
>> +ret:-5
>> +ret: 0 st: 0 ts:1.048000 flags:1
>> +ret:-5
>> +ret: 0 st: 1 ts:-0.058000 flags:0
>> +ret:-5
>> +ret: 0 st: 1 ts:2.836000 flags:1
>> +ret:-5
>> +ret: 0 st:-1 ts:1.730004 flags:0
>> +ret:-5
>> +ret: 0 st:-1 ts:0.624171 flags:1
>> +ret:-5
>> +ret: 0 st: 0 ts:-0.482000 flags:0
>> +ret:-5
>> +ret: 0 st: 0 ts:2.413000 flags:1
>> +ret:-5
>> +ret: 0 st: 1 ts:1.307000 flags:0
>> +ret:-5
>> +ret: 0 st: 1 ts:0.201000 flags:1
>> +ret:-5
>> +ret: 0 st:-1 ts:-0.904994 flags:0
>> +ret:-5
>> +ret: 0 st:-1 ts:1.989173 flags:1
>> +ret:-5
>> +ret: 0 st: 0 ts:0.883000 flags:0
>> +ret:-5
>> +ret: 0 st: 0 ts:-0.222000 flags:1
>> +ret:-5
>> +ret: 0 st: 1 ts:2.672000 flags:0
>> +ret:-5
>> +ret: 0 st: 1 ts:1.566000 flags:1
>> +ret:-5
>> +ret: 0 st:-1 ts:0.460008 flags:0
>> +ret:-5
>> +ret: 0 st:-1 ts:-0.645825 flags:1
>> +ret:-5
>
> this doesnt look like seeking is working well ...
> is it the demuxer or muxer which is failing?

Turns out it's the demuxer; it was reading the wrong bit for the  
keyframe flag for SimpleBlocks (started new thread.) I made the exact  
same mistake in the muxer earlier, so seeking worked the last time I  
tried it in ffplay, but then I fixed the muxer without checking  
seeking again.

> [...]
>
> you can also add yourself to MAINTAINERS if you are willing to  
> maintain
> the muxer after SOC

Sure, and done.

New patch attached, with regression tests updated.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mkvenc.txt
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070830/cb0e6962/attachment.txt>



More information about the ffmpeg-devel mailing list