Merge commit 'd246231e4714119faac6c7acd881d3b687bb8b11'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 18 May 2014 19:05:46 +0000 (21:05 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 18 May 2014 19:05:46 +0000 (21:05 +0200)
* commit 'd246231e4714119faac6c7acd881d3b687bb8b11':
  wavenc: use codec descriptors to get the codec name

Conflicts:
libavformat/wavenc.c

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

@@@ -116,35 -103,17 +116,36 @@@ static int wav_write_header(AVFormatCon
      AVIOContext *pb = s->pb;
      int64_t fmt;
  
 -    ffio_wfourcc(pb, "RIFF");
 -    avio_wl32(pb, 0); /* file length */
 +    if (s->nb_streams != 1) {
 +        av_log(s, AV_LOG_ERROR, "WAVE files have exactly one stream\n");
 +        return AVERROR(EINVAL);
 +    }
 +
 +    if (wav->rf64 == RF64_ALWAYS) {
 +        ffio_wfourcc(pb, "RF64");
 +        avio_wl32(pb, -1); /* RF64 chunk size: use size in ds64 */
 +    } else {
 +        ffio_wfourcc(pb, "RIFF");
 +        avio_wl32(pb, -1); /* file length */
 +    }
 +
      ffio_wfourcc(pb, "WAVE");
  
 +    if (wav->rf64 != RF64_NEVER) {
 +        /* write empty ds64 chunk or JUNK chunk to reserve space for ds64 */
 +        ffio_wfourcc(pb, wav->rf64 == RF64_ALWAYS ? "ds64" : "JUNK");
 +        avio_wl32(pb, 28); /* chunk size */
 +        wav->ds64 = avio_tell(pb);
 +        ffio_fill(pb, 0, 28);
 +    }
 +
      /* format header */
      fmt = ff_start_tag(pb, "fmt ");
 -    if (ff_put_wav_header(pb, s->streams[0]->codec) < 0) {
 +    if (ff_put_wav_header(pb, s->streams[0]->codec, 0) < 0) {
+         const AVCodecDescriptor *desc = avcodec_descriptor_get(s->streams[0]->codec->codec_id);
          av_log(s, AV_LOG_ERROR, "%s codec not supported in WAVE format\n",
-                s->streams[0]->codec->codec ? s->streams[0]->codec->codec->name : "NONE");
-         return -1;
+                desc ? desc->name : "unknown");
+         return AVERROR(ENOSYS);
      }
      ff_end_tag(pb, fmt);