* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <inttypes.h>
+
#include "libavutil/intreadwrite.h"
#include "avformat.h"
#include "internal.h"
return AVPROBE_SCORE_MAX;
}
-static int dfa_read_header(AVFormatContext *s,
- AVFormatParameters *ap)
+static int dfa_read_header(AVFormatContext *s)
{
AVIOContext *pb = s->pb;
AVStream *st;
if (!st)
return AVERROR(ENOMEM);
- st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
- st->codec->codec_id = CODEC_ID_DFA;
- st->codec->width = avio_rl16(pb);
- st->codec->height = avio_rl16(pb);
+ st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
+ st->codecpar->codec_id = AV_CODEC_ID_DFA;
+ st->codecpar->width = avio_rl16(pb);
+ st->codecpar->height = avio_rl16(pb);
mspf = avio_rl32(pb);
if (!mspf) {
av_log(s, AV_LOG_WARNING, "Zero FPS reported, defaulting to 10\n");
if (!first) {
ret = av_append_packet(pb, pkt, 12);
if (ret < 0) {
- av_free_packet(pkt);
+ av_packet_unref(pkt);
return ret;
}
} else
first = 0;
frame_size = AV_RL32(pkt->data + pkt->size - 8);
if (frame_size > INT_MAX - 4) {
- av_log(s, AV_LOG_ERROR, "Too large chunk size: %d\n", frame_size);
+ av_log(s, AV_LOG_ERROR, "Too large chunk size: %"PRIu32"\n", frame_size);
return AVERROR(EIO);
}
if (AV_RL32(pkt->data + pkt->size - 12) == MKTAG('E', 'O', 'F', 'R')) {
if (frame_size) {
- av_log(s, AV_LOG_WARNING, "skipping %d bytes of end-of-frame marker chunk\n",
+ av_log(s, AV_LOG_WARNING,
+ "skipping %"PRIu32" bytes of end-of-frame marker chunk\n",
frame_size);
avio_skip(pb, frame_size);
}
}
ret = av_append_packet(pb, pkt, frame_size);
if (ret < 0) {
- av_free_packet(pkt);
+ av_packet_unref(pkt);
return ret;
}
}
.read_probe = dfa_probe,
.read_header = dfa_read_header,
.read_packet = dfa_read_packet,
- .flags = AVFMT_GENERIC_INDEX,
+ .flags = AVFMT_GENERIC_INDEX,
};