00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "libavutil/adler32.h"
00023 #include "avformat.h"
00024
00025 static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
00026 {
00027 uint32_t crc = av_adler32_update(0, pkt->data, pkt->size);
00028 char buf[256];
00029
00030 snprintf(buf, sizeof(buf), "%d, %"PRId64", %d, 0x%08x\n", pkt->stream_index, pkt->dts, pkt->size, crc);
00031 avio_write(s->pb, buf, strlen(buf));
00032 avio_flush(s->pb);
00033 return 0;
00034 }
00035
00036 AVOutputFormat ff_framecrc_muxer = {
00037 .name = "framecrc",
00038 .long_name = NULL_IF_CONFIG_SMALL("framecrc testing format"),
00039 .audio_codec = CODEC_ID_PCM_S16LE,
00040 .video_codec = CODEC_ID_RAWVIDEO,
00041 .write_packet = framecrc_write_packet,
00042 .flags = AVFMT_VARIABLE_FPS,
00043 };