- st->codec.codec_type = CODEC_TYPE_VIDEO;
- st->codec.codec_id = CODEC_ID_INTERPLAY_VIDEO;
- st->codec.codec_tag = 0; /* no fourcc */
- st->codec.width = ipmovie->video_width;
- st->codec.height = ipmovie->video_height;
-
- /* palette considerations */
- st->codec.extradata_size = sizeof(AVPaletteControl);
- st->codec.extradata = &ipmovie->palette_control;
-
- st = av_new_stream(s, 0);
- if (!st)
- return AVERROR_NOMEM;
- ipmovie->audio_stream_index = st->index;
- st->codec.codec_type = CODEC_TYPE_AUDIO;
- st->codec.codec_id = ipmovie->audio_type;
- st->codec.codec_tag = 0; /* no tag */
- st->codec.channels = ipmovie->audio_channels;
- st->codec.sample_rate = ipmovie->audio_sample_rate;
- st->codec.bits_per_sample = ipmovie->audio_bits;
- st->codec.bit_rate = st->codec.channels * st->codec.sample_rate *
- st->codec.bits_per_sample;
- if (st->codec.codec_id == CODEC_ID_INTERPLAY_DPCM)
- st->codec.bit_rate /= 2;
- st->codec.block_align = st->codec.channels * st->codec.bits_per_sample;
+ st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+ st->codec->codec_id = AV_CODEC_ID_INTERPLAY_VIDEO;
+ st->codec->codec_tag = 0; /* no fourcc */
+ st->codec->width = ipmovie->video_width;
+ st->codec->height = ipmovie->video_height;
+ st->codec->bits_per_coded_sample = ipmovie->video_bpp;
+
+ if (ipmovie->audio_type) {
+ st = avformat_new_stream(s, NULL);
+ if (!st)
+ return AVERROR(ENOMEM);
+ avpriv_set_pts_info(st, 32, 1, ipmovie->audio_sample_rate);
+ ipmovie->audio_stream_index = st->index;
+ st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
+ st->codec->codec_id = ipmovie->audio_type;
+ st->codec->codec_tag = 0; /* no tag */
+ st->codec->channels = ipmovie->audio_channels;
+ st->codec->channel_layout = st->codec->channels == 1 ? AV_CH_LAYOUT_MONO :
+ AV_CH_LAYOUT_STEREO;
+ st->codec->sample_rate = ipmovie->audio_sample_rate;
+ st->codec->bits_per_coded_sample = ipmovie->audio_bits;
+ st->codec->bit_rate = st->codec->channels * st->codec->sample_rate *
+ st->codec->bits_per_coded_sample;
+ if (st->codec->codec_id == AV_CODEC_ID_INTERPLAY_DPCM)
+ st->codec->bit_rate /= 2;
+ st->codec->block_align = st->codec->channels * st->codec->bits_per_coded_sample;
+ }