diff options
author | Vittorio Giovara <vittorio.giovara@gmail.com> | 2013-10-02 16:26:38 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2013-10-03 23:26:09 +0200 |
commit | 49fe9c05f97bc2cfafd8fdcfea2f313d7c8e2c48 (patch) | |
tree | 2549369571788f6cfb7771a585b9d91ca94d9132 /libavformat | |
parent | 47b6cfc2a0333fb24f074d27830bf35ae5007050 (diff) | |
download | ffmpeg-49fe9c05f97bc2cfafd8fdcfea2f313d7c8e2c48.tar.gz |
oggparsevorbis: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/oggparsevorbis.c | 160 |
1 files changed, 82 insertions, 78 deletions
diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c index 6e106b0d2b..276b6f79b9 100644 --- a/libavformat/oggparsevorbis.c +++ b/libavformat/oggparsevorbis.c @@ -1,33 +1,34 @@ -/** - Copyright (C) 2005 Michael Ahlberg, Måns Rullgård - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, copy, - modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -**/ +/* + * Copyright (C) 2005 Michael Ahlberg, Måns Rullgård + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ #include <stdlib.h> + #include "libavutil/avstring.h" #include "libavutil/bswap.h" #include "libavutil/dict.h" -#include "libavcodec/get_bits.h" #include "libavcodec/bytestream.h" +#include "libavcodec/get_bits.h" #include "libavcodec/vorbis_parser.h" #include "avformat.h" #include "internal.h" @@ -46,12 +47,12 @@ static int ogm_chapter(AVFormatContext *as, uint8_t *key, uint8_t *val) if (sscanf(val, "%02d:%02d:%02d.%03d", &h, &m, &s, &ms) < 4) return 0; - avpriv_new_chapter(as, cnum, (AVRational){1,1000}, - ms + 1000*(s + 60*(m + 60*h)), - AV_NOPTS_VALUE, NULL); + avpriv_new_chapter(as, cnum, (AVRational) { 1, 1000 }, + ms + 1000 * (s + 60 * (m + 60 * h)), + AV_NOPTS_VALUE, NULL); av_free(val); - } else if (!strcmp(key+9, "NAME")) { - for(i = 0; i < as->nb_chapters; i++) + } else if (!strcmp(key + 9, "NAME")) { + for (i = 0; i < as->nb_chapters; i++) if (as->chapters[i]->id == cnum) { chapter = as->chapters[i]; break; @@ -59,8 +60,7 @@ static int ogm_chapter(AVFormatContext *as, uint8_t *key, uint8_t *val) if (!chapter) return 0; - av_dict_set(&chapter->metadata, "title", val, - AV_DICT_DONT_STRDUP_VAL); + av_dict_set(&chapter->metadata, "title", val, AV_DICT_DONT_STRDUP_VAL); } else return 0; @@ -68,15 +68,16 @@ static int ogm_chapter(AVFormatContext *as, uint8_t *key, uint8_t *val) return 1; } -int -ff_vorbis_comment(AVFormatContext * as, AVDictionary **m, const uint8_t *buf, int size) +int ff_vorbis_comment(AVFormatContext *as, AVDictionary **m, + const uint8_t *buf, int size) { - const uint8_t *p = buf; + const uint8_t *p = buf; const uint8_t *end = buf + size; unsigned n, j; int s; - if (size < 8) /* must have vendor_length and user_comment_list_length */ + /* must have vendor_length and user_comment_list_length */ + if (size < 8) return -1; s = bytestream_get_le32(&p); @@ -97,7 +98,7 @@ ff_vorbis_comment(AVFormatContext * as, AVDictionary **m, const uint8_t *buf, in if (end - p < s || s < 0) break; - t = p; + t = p; p += s; n--; @@ -117,7 +118,8 @@ ff_vorbis_comment(AVFormatContext * as, AVDictionary **m, const uint8_t *buf, in if (!tt || !ct) { av_freep(&tt); av_freep(&ct); - av_log(as, AV_LOG_WARNING, "out-of-memory error. skipping VorbisComment tag.\n"); + av_log(as, AV_LOG_WARNING, + "out-of-memory error. skipping VorbisComment tag.\n"); continue; } @@ -130,13 +132,14 @@ ff_vorbis_comment(AVFormatContext * as, AVDictionary **m, const uint8_t *buf, in if (!ogm_chapter(as, tt, ct)) av_dict_set(m, tt, ct, - AV_DICT_DONT_STRDUP_KEY | - AV_DICT_DONT_STRDUP_VAL); + AV_DICT_DONT_STRDUP_KEY | + AV_DICT_DONT_STRDUP_VAL); } } if (p != end) - av_log(as, AV_LOG_INFO, "%ti bytes of comment header remain\n", end-p); + av_log(as, AV_LOG_INFO, + "%ti bytes of comment header remain\n", end - p); if (n > 0) av_log(as, AV_LOG_INFO, "truncated comment header, %i comments not found\n", n); @@ -146,8 +149,9 @@ ff_vorbis_comment(AVFormatContext * as, AVDictionary **m, const uint8_t *buf, in return 0; } - -/** Parse the vorbis header +/* + * Parse the vorbis header + * * Vorbis Identification header from Vorbis_I_spec.html#vorbis-spec-codec * [vorbis_version] = read 32 bits as unsigned integer | Not used * [audio_channels] = read 8 bit integer as unsigned | Used @@ -158,7 +162,7 @@ ff_vorbis_comment(AVFormatContext * as, AVDictionary **m, const uint8_t *buf, in * [blocksize_0] = read 4 bits as unsigned integer | Not Used * [blocksize_1] = read 4 bits as unsigned integer | Not Used * [framing_flag] = read one bit | Not Used - * */ + */ struct oggvorbis_private { unsigned int len[3]; @@ -168,19 +172,18 @@ struct oggvorbis_private { int final_duration; }; - -static unsigned int -fixup_vorbis_headers(AVFormatContext * as, struct oggvorbis_private *priv, - uint8_t **buf) +static unsigned int fixup_vorbis_headers(AVFormatContext *as, + struct oggvorbis_private *priv, + uint8_t **buf) { int i, offset, len, err; unsigned char *ptr; len = priv->len[0] + priv->len[1] + priv->len[2]; - ptr = *buf = av_mallocz(len + len/255 + 64); + ptr = *buf = av_mallocz(len + len / 255 + 64); - ptr[0] = 2; - offset = 1; + ptr[0] = 2; + offset = 1; offset += av_xiphlacing(&ptr[offset], priv->len[0]); offset += av_xiphlacing(&ptr[offset], priv->len[1]); for (i = 0; i < 3; i++) { @@ -204,12 +207,11 @@ static void vorbis_cleanup(AVFormatContext *s, int idx) av_freep(&priv->packet[i]); } -static int -vorbis_header (AVFormatContext * s, int idx) +static int vorbis_header(AVFormatContext *s, int idx) { struct ogg *ogg = s->priv_data; + AVStream *st = s->streams[idx]; struct ogg_stream *os = ogg->streams + idx; - AVStream *st = s->streams[idx]; struct oggvorbis_private *priv; int pkt_type = os->buf[os->pstart]; @@ -227,12 +229,12 @@ vorbis_header (AVFormatContext * s, int idx) priv = os->private; - if (priv->packet[pkt_type>>1]) + if (priv->packet[pkt_type >> 1]) return -1; if (pkt_type > 1 && !priv->packet[0] || pkt_type > 3 && !priv->packet[1]) return -1; - priv->len[pkt_type >> 1] = os->psize; + priv->len[pkt_type >> 1] = os->psize; priv->packet[pkt_type >> 1] = av_mallocz(os->psize); memcpy(priv->packet[pkt_type >> 1], os->buf + os->pstart, os->psize); if (os->buf[os->pstart] == 1) { @@ -247,14 +249,14 @@ vorbis_header (AVFormatContext * s, int idx) return -1; st->codec->channels = bytestream_get_byte(&p); - srate = bytestream_get_le32(&p); + srate = bytestream_get_le32(&p); p += 4; // skip maximum bitrate st->codec->bit_rate = bytestream_get_le32(&p); // nominal bitrate p += 4; // skip minimum bitrate blocksize = bytestream_get_byte(&p); - bs0 = blocksize & 15; - bs1 = blocksize >> 4; + bs0 = blocksize & 15; + bs1 = blocksize >> 4; if (bs0 > bs1) return -1; @@ -265,7 +267,7 @@ vorbis_header (AVFormatContext * s, int idx) return -1; st->codec->codec_type = AVMEDIA_TYPE_AUDIO; - st->codec->codec_id = AV_CODEC_ID_VORBIS; + st->codec->codec_id = AV_CODEC_ID_VORBIS; if (srate > 0) { st->codec->sample_rate = srate; @@ -273,13 +275,14 @@ vorbis_header (AVFormatContext * s, int idx) } } else if (os->buf[os->pstart] == 3) { if (os->psize > 8 && - ff_vorbis_comment(s, &st->metadata, os->buf + os->pstart + 7, os->psize - 8) >= 0) { + ff_vorbis_comment(s, &st->metadata, os->buf + os->pstart + 7, + os->psize - 8) >= 0) { // drop all metadata we parsed and which is not required by libvorbis unsigned new_len = 7 + 4 + AV_RL32(priv->packet[1] + 7) + 4 + 1; if (new_len >= 16 && new_len < os->psize) { AV_WL32(priv->packet[1] + new_len - 5, 0); priv->packet[1][new_len - 1] = 1; - priv->len[1] = new_len; + priv->len[1] = new_len; } } } else { @@ -307,13 +310,13 @@ static int vorbis_packet(AVFormatContext *s, int idx) int duration; /* first packet handling - here we parse the duration of each packet in the first page and compare - the total duration to the page granule to find the encoder delay and - set the first timestamp */ + * here we parse the duration of each packet in the first page and compare + * the total duration to the page granule to find the encoder delay and + * set the first timestamp */ if (!os->lastpts) { int seg; - uint8_t *last_pkt = os->buf + os->pstart; - uint8_t *next_pkt = last_pkt; + uint8_t *last_pkt = os->buf + os->pstart; + uint8_t *next_pkt = last_pkt; int first_duration = 0; avpriv_vorbis_parse_reset(&priv->vp); @@ -328,16 +331,17 @@ static int vorbis_packet(AVFormatContext *s, int idx) if (!duration) first_duration = d; duration += d; - last_pkt = next_pkt + os->segments[seg]; + last_pkt = next_pkt + os->segments[seg]; } next_pkt += os->segments[seg]; } - os->lastpts = os->lastdts = os->granule - duration; + os->lastpts = + os->lastdts = os->granule - duration; s->streams[idx]->start_time = os->lastpts + first_duration; if (s->streams[idx]->duration) s->streams[idx]->duration -= s->streams[idx]->start_time; - s->streams[idx]->cur_dts = AV_NOPTS_VALUE; - priv->final_pts = AV_NOPTS_VALUE; + s->streams[idx]->cur_dts = AV_NOPTS_VALUE; + priv->final_pts = AV_NOPTS_VALUE; avpriv_vorbis_parse_reset(&priv->vp); } @@ -352,12 +356,12 @@ static int vorbis_packet(AVFormatContext *s, int idx) } /* final packet handling - here we save the pts of the first packet in the final page, sum up all - packet durations in the final page except for the last one, and compare - to the page granule to find the duration of the final packet */ + * here we save the pts of the first packet in the final page, sum up all + * packet durations in the final page except for the last one, and compare + * to the page granule to find the duration of the final packet */ if (os->flags & OGG_FLAG_EOS) { if (os->lastpts != AV_NOPTS_VALUE) { - priv->final_pts = os->lastpts; + priv->final_pts = os->lastpts; priv->final_duration = 0; } if (os->segp == os->nsegs) @@ -369,10 +373,10 @@ static int vorbis_packet(AVFormatContext *s, int idx) } const struct ogg_codec ff_vorbis_codec = { - .magic = "\001vorbis", + .magic = "\001vorbis", .magicsize = 7, - .header = vorbis_header, - .packet = vorbis_packet, - .cleanup= vorbis_cleanup, + .header = vorbis_header, + .packet = vorbis_packet, + .cleanup = vorbis_cleanup, .nb_header = 3, }; |