d = p->buf;
if (d[0] == 'w' && d[1] == 'W' && d[2] == 0x10 && d[3] == 0)
- return 50;
+ /* Ensure the buffer probe scores higher than the extension probe.
+ * This avoids problems with misdetection as AviSynth scripts. */
+ return AVPROBE_SCORE_EXTENSION + 1;
return 0;
}
pkt->data[palette_size + 3] = (size >> 8) & 0xFF;
ret = avio_read(s->pb, pkt->data + palette_size + 4, size - 4) + 4;
if (ret < size) {
- av_free_packet(pkt);
+ av_packet_unref(pkt);
return AVERROR(EIO);
}
case AVS_VIDEO:
if (!avs->st_video) {
avs->st_video = avformat_new_stream(s, NULL);
- if (avs->st_video == NULL)
+ if (!avs->st_video)
return AVERROR(ENOMEM);
- avs->st_video->codec->codec_type = AVMEDIA_TYPE_VIDEO;
- avs->st_video->codec->codec_id = AV_CODEC_ID_AVS;
- avs->st_video->codec->width = avs->width;
- avs->st_video->codec->height = avs->height;
- avs->st_video->codec->bits_per_coded_sample=avs->bits_per_sample;
+ avs->st_video->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
+ avs->st_video->codecpar->codec_id = AV_CODEC_ID_AVS;
+ avs->st_video->codecpar->width = avs->width;
+ avs->st_video->codecpar->height = avs->height;
+ avs->st_video->codecpar->bits_per_coded_sample=avs->bits_per_sample;
avs->st_video->nb_frames = avs->nb_frames;
-#if FF_API_R_FRAME_RATE
- avs->st_video->r_frame_rate =
-#endif
avs->st_video->avg_frame_rate = (AVRational){avs->fps, 1};
}
return avs_read_video_packet(s, pkt, type, sub_type, size,
case AVS_AUDIO:
if (!avs->st_audio) {
avs->st_audio = avformat_new_stream(s, NULL);
- if (avs->st_audio == NULL)
+ if (!avs->st_audio)
return AVERROR(ENOMEM);
- avs->st_audio->codec->codec_type = AVMEDIA_TYPE_AUDIO;
+ avs->st_audio->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
}
avs->remaining_audio_size = size - 4;
size = avs_read_audio_packet(s, pkt);