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     put_buffer(s->pb, buf, strlen(buf));
00032     put_flush_packet(s->pb);
00033     return 0;
00034 }
00035 
00036 AVOutputFormat framecrc_muxer = {
00037     "framecrc",
00038     NULL_IF_CONFIG_SMALL("framecrc testing format"),
00039     NULL,
00040     "",
00041     0,
00042     CODEC_ID_PCM_S16LE,
00043     CODEC_ID_RAWVIDEO,
00044     NULL,
00045     framecrc_write_packet,
00046     NULL,
00047 };