Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: source/patched-ffmpeg-mt/libavformat/flacenc.c

Issue 4533003: patched ffmpeg nov 2 (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * raw FLAC muxer 2 * raw FLAC muxer
3 * Copyright (c) 2006-2009 Justin Ruggles 3 * Copyright (c) 2006-2009 Justin Ruggles
4 * 4 *
5 * This file is part of FFmpeg. 5 * This file is part of FFmpeg.
6 * 6 *
7 * FFmpeg is free software; you can redistribute it and/or 7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public 8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version. 10 * version 2.1 of the License, or (at your option) any later version.
(...skipping 21 matching lines...) Expand all
32 { 32 {
33 put_byte(pb, last_block ? 0x81 : 0x01); 33 put_byte(pb, last_block ? 0x81 : 0x01);
34 put_be24(pb, n_padding_bytes); 34 put_be24(pb, n_padding_bytes);
35 while (n_padding_bytes > 0) { 35 while (n_padding_bytes > 0) {
36 put_byte(pb, 0); 36 put_byte(pb, 0);
37 n_padding_bytes--; 37 n_padding_bytes--;
38 } 38 }
39 return 0; 39 return 0;
40 } 40 }
41 41
42 static int flac_write_block_comment(ByteIOContext *pb, AVMetadata *m, 42 static int flac_write_block_comment(ByteIOContext *pb, AVMetadata **m,
43 int last_block, int bitexact) 43 int last_block, int bitexact)
44 { 44 {
45 const char *vendor = bitexact ? "ffmpeg" : LIBAVFORMAT_IDENT; 45 const char *vendor = bitexact ? "ffmpeg" : LIBAVFORMAT_IDENT;
46 unsigned int len, count; 46 unsigned int len, count;
47 uint8_t *p, *p0; 47 uint8_t *p, *p0;
48 48
49 len = ff_vorbiscomment_length(m, vendor, &count); 49 len = ff_vorbiscomment_length(*m, vendor, &count);
50 p0 = av_malloc(len+4); 50 p0 = av_malloc(len+4);
51 if (!p0) 51 if (!p0)
52 return AVERROR(ENOMEM); 52 return AVERROR(ENOMEM);
53 p = p0; 53 p = p0;
54 54
55 bytestream_put_byte(&p, last_block ? 0x84 : 0x04); 55 bytestream_put_byte(&p, last_block ? 0x84 : 0x04);
56 bytestream_put_be24(&p, len); 56 bytestream_put_be24(&p, len);
57 ff_vorbiscomment_write(&p, m, vendor, count); 57 ff_vorbiscomment_write(&p, m, vendor, count);
58 58
59 put_buffer(pb, p0, len+4); 59 put_buffer(pb, p0, len+4);
60 av_freep(&p0); 60 av_freep(&p0);
61 p = NULL; 61 p = NULL;
62 62
63 return 0; 63 return 0;
64 } 64 }
65 65
66 static int flac_write_header(struct AVFormatContext *s) 66 static int flac_write_header(struct AVFormatContext *s)
67 { 67 {
68 int ret; 68 int ret;
69 AVCodecContext *codec = s->streams[0]->codec; 69 AVCodecContext *codec = s->streams[0]->codec;
70 70
71 ret = ff_flac_write_header(s->pb, codec, 0); 71 ret = ff_flac_write_header(s->pb, codec, 0);
72 if (ret) 72 if (ret)
73 return ret; 73 return ret;
74 74
75 ret = flac_write_block_comment(s->pb, s->metadata, 0, 75 ret = flac_write_block_comment(s->pb, &s->metadata, 0,
76 codec->flags & CODEC_FLAG_BITEXACT); 76 codec->flags & CODEC_FLAG_BITEXACT);
77 if (ret) 77 if (ret)
78 return ret; 78 return ret;
79 79
80 /* The command line flac encoder defaults to placing a seekpoint 80 /* The command line flac encoder defaults to placing a seekpoint
81 * every 10s. So one might add padding to allow that later 81 * every 10s. So one might add padding to allow that later
82 * but there seems to be no simple way to get the duration here. 82 * but there seems to be no simple way to get the duration here.
83 * So let's try the flac default of 8192 bytes */ 83 * So let's try the flac default of 8192 bytes */
84 flac_write_block_padding(s->pb, 8192, 1); 84 flac_write_block_padding(s->pb, 8192, 1);
85 85
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 NULL_IF_CONFIG_SMALL("raw FLAC"), 121 NULL_IF_CONFIG_SMALL("raw FLAC"),
122 "audio/x-flac", 122 "audio/x-flac",
123 "flac", 123 "flac",
124 0, 124 0,
125 CODEC_ID_FLAC, 125 CODEC_ID_FLAC,
126 CODEC_ID_NONE, 126 CODEC_ID_NONE,
127 flac_write_header, 127 flac_write_header,
128 flac_write_packet, 128 flac_write_packet,
129 flac_write_trailer, 129 flac_write_trailer,
130 .flags= AVFMT_NOTIMESTAMPS, 130 .flags= AVFMT_NOTIMESTAMPS,
131 .metadata_conv = ff_vorbiscomment_metadata_conv,
132 }; 131 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698