[FFmpeg-cvslog] r25473 - in trunk/libavformat: flacenc.c oggenc.c vorbiscomment.c vorbiscomment.h
aurel
subversion
Thu Oct 14 21:08:32 CEST 2010
Author: aurel
Date: Thu Oct 14 21:08:31 2010
New Revision: 25473
Log:
vorbiscomment: change ff_vorbiscomment_write to take an AVMetadata**
patch by Anton Khirnov anton _at_ khirnov _dot_ net
Modified:
trunk/libavformat/flacenc.c
trunk/libavformat/oggenc.c
trunk/libavformat/vorbiscomment.c
trunk/libavformat/vorbiscomment.h
Modified: trunk/libavformat/flacenc.c
==============================================================================
--- trunk/libavformat/flacenc.c Thu Oct 14 09:47:49 2010 (r25472)
+++ trunk/libavformat/flacenc.c Thu Oct 14 21:08:31 2010 (r25473)
@@ -39,14 +39,14 @@ static int flac_write_block_padding(Byte
return 0;
}
-static int flac_write_block_comment(ByteIOContext *pb, AVMetadata *m,
+static int flac_write_block_comment(ByteIOContext *pb, AVMetadata **m,
int last_block, int bitexact)
{
const char *vendor = bitexact ? "ffmpeg" : LIBAVFORMAT_IDENT;
unsigned int len, count;
uint8_t *p, *p0;
- len = ff_vorbiscomment_length(m, vendor, &count);
+ len = ff_vorbiscomment_length(*m, vendor, &count);
p0 = av_malloc(len+4);
if (!p0)
return AVERROR(ENOMEM);
@@ -72,7 +72,7 @@ static int flac_write_header(struct AVFo
if (ret)
return ret;
- ret = flac_write_block_comment(s->pb, s->metadata, 0,
+ ret = flac_write_block_comment(s->pb, &s->metadata, 0,
codec->flags & CODEC_FLAG_BITEXACT);
if (ret)
return ret;
Modified: trunk/libavformat/oggenc.c
==============================================================================
--- trunk/libavformat/oggenc.c Thu Oct 14 09:47:49 2010 (r25472)
+++ trunk/libavformat/oggenc.c Thu Oct 14 21:08:31 2010 (r25473)
@@ -206,14 +206,14 @@ static int ogg_buffer_data(AVFormatConte
}
static uint8_t *ogg_write_vorbiscomment(int offset, int bitexact,
- int *header_len, AVMetadata *m, int framing_bit)
+ int *header_len, AVMetadata **m, int framing_bit)
{
const char *vendor = bitexact ? "ffmpeg" : LIBAVFORMAT_IDENT;
int size;
uint8_t *p, *p0;
unsigned int count;
- size = offset + ff_vorbiscomment_length(m, vendor, &count) + framing_bit;
+ size = offset + ff_vorbiscomment_length(*m, vendor, &count) + framing_bit;
p = av_mallocz(size);
if (!p)
return NULL;
@@ -230,7 +230,7 @@ static uint8_t *ogg_write_vorbiscomment(
static int ogg_build_flac_headers(AVCodecContext *avctx,
OGGStreamContext *oggstream, int bitexact,
- AVMetadata *m)
+ AVMetadata **m)
{
enum FLACExtradataFormat format;
uint8_t *streaminfo;
@@ -270,7 +270,7 @@ static int ogg_build_flac_headers(AVCode
static int ogg_build_speex_headers(AVCodecContext *avctx,
OGGStreamContext *oggstream, int bitexact,
- AVMetadata *m)
+ AVMetadata **m)
{
uint8_t *p;
@@ -338,7 +338,7 @@ static int ogg_write_header(AVFormatCont
if (st->codec->codec_id == CODEC_ID_FLAC) {
int err = ogg_build_flac_headers(st->codec, oggstream,
st->codec->flags & CODEC_FLAG_BITEXACT,
- s->metadata);
+ &s->metadata);
if (err) {
av_log(s, AV_LOG_ERROR, "Error writing FLAC headers\n");
av_freep(&st->priv_data);
@@ -347,7 +347,7 @@ static int ogg_write_header(AVFormatCont
} else if (st->codec->codec_id == CODEC_ID_SPEEX) {
int err = ogg_build_speex_headers(st->codec, oggstream,
st->codec->flags & CODEC_FLAG_BITEXACT,
- s->metadata);
+ &s->metadata);
if (err) {
av_log(s, AV_LOG_ERROR, "Error writing Speex headers\n");
av_freep(&st->priv_data);
@@ -368,7 +368,7 @@ static int ogg_write_header(AVFormatCont
}
p = ogg_write_vorbiscomment(7, st->codec->flags & CODEC_FLAG_BITEXACT,
- &oggstream->header_len[1], s->metadata,
+ &oggstream->header_len[1], &s->metadata,
framing_bit);
if (!p)
return AVERROR(ENOMEM);
Modified: trunk/libavformat/vorbiscomment.c
==============================================================================
--- trunk/libavformat/vorbiscomment.c Thu Oct 14 09:47:49 2010 (r25472)
+++ trunk/libavformat/vorbiscomment.c Thu Oct 14 21:08:31 2010 (r25473)
@@ -52,15 +52,15 @@ int ff_vorbiscomment_length(AVMetadata *
return len;
}
-int ff_vorbiscomment_write(uint8_t **p, AVMetadata *m,
+int ff_vorbiscomment_write(uint8_t **p, AVMetadata **m,
const char *vendor_string, const unsigned count)
{
bytestream_put_le32(p, strlen(vendor_string));
bytestream_put_buffer(p, vendor_string, strlen(vendor_string));
- if (m) {
+ if (*m) {
AVMetadataTag *tag = NULL;
bytestream_put_le32(p, count);
- while ((tag = av_metadata_get(m, "", tag, AV_METADATA_IGNORE_SUFFIX))) {
+ while ((tag = av_metadata_get(*m, "", tag, AV_METADATA_IGNORE_SUFFIX))) {
unsigned int len1 = strlen(tag->key);
unsigned int len2 = strlen(tag->value);
bytestream_put_le32(p, len1+1+len2);
Modified: trunk/libavformat/vorbiscomment.h
==============================================================================
--- trunk/libavformat/vorbiscomment.h Thu Oct 14 09:47:49 2010 (r25472)
+++ trunk/libavformat/vorbiscomment.h Thu Oct 14 21:08:31 2010 (r25473)
@@ -49,7 +49,7 @@ int ff_vorbiscomment_length(AVMetadata *
* @param vendor_string The vendor string to write.
* @param count The number of tags in m because m->count is "not allowed"
*/
-int ff_vorbiscomment_write(uint8_t **p, AVMetadata *m,
+int ff_vorbiscomment_write(uint8_t **p, AVMetadata **m,
const char *vendor_string, const unsigned count);
extern const AVMetadataConv ff_vorbiscomment_metadata_conv[];
More information about the ffmpeg-cvslog
mailing list