Mercurial > libavformat.hg
comparison matroskaenc.c @ 3271:c702c1c5b890 libavformat
fix encoding of flac private data
author | jbr |
---|---|
date | Thu, 01 May 2008 22:04:17 +0000 |
parents | 1a16b069daca |
children | 6f61c3b36632 |
comparison
equal
deleted
inserted
replaced
3270:567f8a365db0 | 3271:c702c1c5b890 |
---|---|
427 if (codec->extradata_size < FLAC_STREAMINFO_SIZE) { | 427 if (codec->extradata_size < FLAC_STREAMINFO_SIZE) { |
428 av_log(s, AV_LOG_ERROR, "Invalid FLAC extradata\n"); | 428 av_log(s, AV_LOG_ERROR, "Invalid FLAC extradata\n"); |
429 return -1; | 429 return -1; |
430 } else if (codec->extradata_size == FLAC_STREAMINFO_SIZE) { | 430 } else if (codec->extradata_size == FLAC_STREAMINFO_SIZE) { |
431 // only the streaminfo packet | 431 // only the streaminfo packet |
432 put_byte(pb, 0); | 432 put_buffer(pb, "fLaC", 4); |
433 put_xiph_size(pb, codec->extradata_size); | 433 put_byte(pb, 0x80); |
434 av_log(s, AV_LOG_ERROR, "Only one packet\n"); | 434 put_be24(pb, FLAC_STREAMINFO_SIZE); |
435 } else if(memcmp("fLaC", codec->extradata, 4)) { | |
436 av_log(s, AV_LOG_ERROR, "Invalid FLAC extradata\n"); | |
437 return -1; | |
435 } | 438 } |
436 put_buffer(pb, codec->extradata, codec->extradata_size); | 439 put_buffer(pb, codec->extradata, codec->extradata_size); |
437 return 0; | 440 return 0; |
438 } | 441 } |
439 | 442 |