]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 3 Feb 2015 20:53:29 +0000 (21:53 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 3 Feb 2015 20:53:29 +0000 (21:53 +0100)
* commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128':
  siff: K&R formatting cosmetics

Conflicts:
libavformat/siff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/siff.c

index 8da6c2f67a7d3dfb4cb6058eacaed66adb5d7c93,3a74c81c36dda2670e2b8024135c996059e64533..3b54e90777811de04fa586346d0c930d869668da
  
  #include "libavutil/channel_layout.h"
  #include "libavutil/intreadwrite.h"
  #include "avformat.h"
  #include "internal.h"
 +#include "avio_internal.h"
  
- enum SIFFTags{
+ enum SIFFTags {
      TAG_SIFF = MKTAG('S', 'I', 'F', 'F'),
      TAG_BODY = MKTAG('B', 'O', 'D', 'Y'),
      TAG_VBHD = MKTAG('V', 'B', 'H', 'D'),
@@@ -76,15 -76,15 +77,15 @@@ static int create_audio_stream(AVFormat
      AVStream *ast;
      ast = avformat_new_stream(s, NULL);
      if (!ast)
 -        return -1;
 +        return AVERROR(ENOMEM);
-     ast->codec->codec_type      = AVMEDIA_TYPE_AUDIO;
-     ast->codec->codec_id        = AV_CODEC_ID_PCM_U8;
-     ast->codec->channels        = 1;
-     ast->codec->channel_layout  = AV_CH_LAYOUT_MONO;
+     ast->codec->codec_type            = AVMEDIA_TYPE_AUDIO;
+     ast->codec->codec_id              = AV_CODEC_ID_PCM_U8;
+     ast->codec->channels              = 1;
+     ast->codec->channel_layout        = AV_CH_LAYOUT_MONO;
      ast->codec->bits_per_coded_sample = 8;
-     ast->codec->sample_rate     = c->rate;
+     ast->codec->sample_rate           = c->rate;
      avpriv_set_pts_info(ast, 16, 1, c->rate);
-     ast->start_time = 0;
+     ast->start_time                   = 0;
      return 0;
  }
  
@@@ -93,31 -93,31 +94,31 @@@ static int siff_parse_vbv1(AVFormatCont
      AVStream *st;
      int width, height;
  
-     if (avio_rl32(pb) != TAG_VBHD){
+     if (avio_rl32(pb) != TAG_VBHD) {
          av_log(s, AV_LOG_ERROR, "Header chunk is missing\n");
 -        return -1;
 +        return AVERROR_INVALIDDATA;
      }
-     if(avio_rb32(pb) != 32){
+     if (avio_rb32(pb) != 32) {
          av_log(s, AV_LOG_ERROR, "Header chunk size is incorrect\n");
 -        return -1;
 +        return AVERROR_INVALIDDATA;
      }
-     if(avio_rl16(pb) != 1){
+     if (avio_rl16(pb) != 1) {
          av_log(s, AV_LOG_ERROR, "Incorrect header version\n");
 -        return -1;
 +        return AVERROR_INVALIDDATA;
      }
-     width = avio_rl16(pb);
+     width  = avio_rl16(pb);
      height = avio_rl16(pb);
      avio_skip(pb, 4);
      c->frames = avio_rl16(pb);
-     if(!c->frames){
+     if (!c->frames) {
          av_log(s, AV_LOG_ERROR, "File contains no frames ???\n");
 -        return -1;
 +        return AVERROR_INVALIDDATA;
      }
-     c->bits = avio_rl16(pb);
-     c->rate = avio_rl16(pb);
+     c->bits        = avio_rl16(pb);
+     c->rate        = avio_rl16(pb);
      c->block_align = c->rate * (c->bits >> 3);
  
-     avio_skip(pb, 16); //zeroes
+     avio_skip(pb, 16); // zeroes
  
      st = avformat_new_stream(s, NULL);
      if (!st)
      c->cur_frame = 0;
      c->has_video = 1;
      c->has_audio = !!c->rate;
-     c->curstrm = -1;
+     c->curstrm   = -1;
      if (c->has_audio && create_audio_stream(s, c) < 0)
 -        return -1;
 +        return AVERROR(ENOMEM);
      return 0;
  }
  
  static int siff_parse_soun(AVFormatContext *s, SIFFContext *c, AVIOContext *pb)
  {
-     if (avio_rl32(pb) != TAG_SHDR){
+     if (avio_rl32(pb) != TAG_SHDR) {
          av_log(s, AV_LOG_ERROR, "Header chunk is missing\n");
 -        return -1;
 +        return AVERROR_INVALIDDATA;
      }
-     if(avio_rb32(pb) != 8){
+     if (avio_rb32(pb) != 8) {
          av_log(s, AV_LOG_ERROR, "Header chunk size is incorrect\n");
 -        return -1;
 +        return AVERROR_INVALIDDATA;
      }
-     avio_skip(pb, 4); //unknown value
-     c->rate = avio_rl16(pb);
-     c->bits = avio_rl16(pb);
+     avio_skip(pb, 4); // unknown value
+     c->rate        = avio_rl16(pb);
+     c->bits        = avio_rl16(pb);
      c->block_align = c->rate * (c->bits >> 3);
      return create_audio_stream(s, c);
  }
  static int siff_read_header(AVFormatContext *s)
  {
      AVIOContext *pb = s->pb;
-     SIFFContext *c = s->priv_data;
+     SIFFContext *c  = s->priv_data;
      uint32_t tag;
 +    int ret;
  
      if (avio_rl32(pb) != TAG_SIFF)
 -        return -1;
 +        return AVERROR_INVALIDDATA;
-     avio_skip(pb, 4); //ignore size
+     avio_skip(pb, 4); // ignore size
      tag = avio_rl32(pb);
  
-     if (tag != TAG_VBV1 && tag != TAG_SOUN){
+     if (tag != TAG_VBV1 && tag != TAG_SOUN) {
          av_log(s, AV_LOG_ERROR, "Not a VBV file\n");
 -        return -1;
 +        return AVERROR_INVALIDDATA;
      }
  
 -    if (tag == TAG_VBV1 && siff_parse_vbv1(s, c, pb) < 0)
 -        return -1;
 -    if (tag == TAG_SOUN && siff_parse_soun(s, c, pb) < 0)
 -        return -1;
 +    if (tag == TAG_VBV1 && (ret = siff_parse_vbv1(s, c, pb)) < 0)
 +        return ret;
 +    if (tag == TAG_SOUN && (ret = siff_parse_soun(s, c, pb)) < 0)
 +        return ret;
-     if (avio_rl32(pb) != MKTAG('B', 'O', 'D', 'Y')){
+     if (avio_rl32(pb) != MKTAG('B', 'O', 'D', 'Y')) {
          av_log(s, AV_LOG_ERROR, "'BODY' chunk is missing\n");
 -        return -1;
 +        return AVERROR_INVALIDDATA;
      }
-     avio_skip(pb, 4); //ignore size
+     avio_skip(pb, 4); // ignore size
  
      return 0;
  }
@@@ -193,12 -190,12 +194,12 @@@ static int siff_read_packet(AVFormatCon
      SIFFContext *c = s->priv_data;
      int size;
  
-     if (c->has_video){
+     if (c->has_video) {
          if (c->cur_frame >= c->frames)
 -            return AVERROR(EIO);
 +            return AVERROR_EOF;
-         if (c->curstrm == -1){
+         if (c->curstrm == -1) {
              c->pktsize = avio_rl32(s->pb) - 4;
-             c->flags = avio_rl16(s->pb);
+             c->flags   = avio_rl16(s->pb);
              c->gmcsize = (c->flags & VB_HAS_GMC) ? 4 : 0;
              if (c->gmcsize)
                  avio_read(s->pb, c->gmc, c->gmcsize);
              c->curstrm = !!(c->flags & VB_HAS_AUDIO);
          }
  
-         if (!c->curstrm){
+         if (!c->curstrm) {
 -            size = c->pktsize - c->sndsize;
 -            if (av_new_packet(pkt, size) < 0)
 +            size = c->pktsize - c->sndsize - c->gmcsize - 2;
 +            size = ffio_limit(s->pb, size);
 +            if(size < 0 || c->pktsize < c->sndsize)
 +                return AVERROR_INVALIDDATA;
 +            if (av_new_packet(pkt, size + c->gmcsize + 2) < 0)
                  return AVERROR(ENOMEM);
              AV_WL16(pkt->data, c->flags);
              if (c->gmcsize)
                  memcpy(pkt->data + 2, c->gmc, c->gmcsize);
 -            avio_read(s->pb, pkt->data + 2 + c->gmcsize, size - c->gmcsize - 2);
 +            if (avio_read(s->pb, pkt->data + 2 + c->gmcsize, size) != size) {
 +                av_free_packet(pkt);
 +                return AVERROR_INVALIDDATA;
 +            }
              pkt->stream_index = 0;
-             c->curstrm = -1;
-         }else{
+             c->curstrm        = -1;
+         } else {
              if ((size = av_get_packet(s->pb, pkt, c->sndsize - 4)) < 0)
                  return AVERROR(EIO);
              pkt->stream_index = 1;
              pkt->flags |= AV_PKT_FLAG_KEY;
          if (c->curstrm == -1)
              c->cur_frame++;
-     }else{
+     } else {
          size = av_get_packet(s->pb, pkt, c->block_align);
-         if(!size)
 -        if (size <= 0)
++        if (!size)
 +            return AVERROR_EOF;
-         if(size < 0)
++        if (size < 0)
              return AVERROR(EIO);
          pkt->duration = size;
      }