cdg: skip packets that don't contain a cdg command.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
pull/2/head
Justin Ruggles 13 years ago committed by Anton Khirnov
parent 0844b57c11
commit 5872c78122
  1. 9
      libavformat/cdg.c
  2. 88
      tests/ref/fate/cdgraphics

@ -22,6 +22,8 @@
#include "avformat.h"
#define CDG_PACKET_SIZE 24
#define CDG_COMMAND 0x09
#define CDG_MASK 0x3F
static int read_header(AVFormatContext *s, AVFormatParameters *ap)
{
@ -49,7 +51,12 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
{
int ret;
ret = av_get_packet(s->pb, pkt, CDG_PACKET_SIZE);
while (1) {
ret = av_get_packet(s->pb, pkt, CDG_PACKET_SIZE);
if (ret < 1 || (pkt->data[0] & CDG_MASK) == CDG_COMMAND)
break;
av_free_packet(pkt);
}
pkt->stream_index = 0;
return ret;

@ -210,3 +210,91 @@
0, 62700, 194400, 0x1b75a275
0, 63000, 194400, 0xedd1a572
0, 63300, 194400, 0x55daad6a
0, 63600, 194400, 0xcb93b067
0, 63900, 194400, 0x5888ba5d
0, 64200, 194400, 0x2c11c84f
0, 64500, 194400, 0x0fbae334
0, 64800, 194400, 0x773fed2a
0, 65100, 194400, 0x2f87fc1b
0, 65400, 194400, 0xe8120521
0, 65700, 194400, 0x64ac0f17
0, 66000, 194400, 0xba531c0a
0, 66300, 194400, 0xf49433f2
0, 66600, 194400, 0x79e234f1
0, 66900, 194400, 0x043937ee
0, 67200, 194400, 0x9e6141e4
0, 67500, 194400, 0x34204fd6
0, 67800, 194400, 0xa1dd60c5
0, 68100, 194400, 0x12b36eb7
0, 68400, 194400, 0x68987aab
0, 68700, 194400, 0x3207889d
0, 69000, 194400, 0x3bb59194
0, 69300, 194400, 0x0a119f86
0, 69600, 194400, 0x472bab7a
0, 69900, 194400, 0x7364c85d
0, 70200, 194400, 0xa812d84d
0, 70500, 194400, 0xf384f530
0, 70800, 194400, 0x1546052f
0, 71100, 194400, 0xeb611a1a
0, 71400, 194400, 0xc39d250f
0, 71700, 194400, 0x7bd73301
0, 72000, 194400, 0x10f73cf7
0, 72300, 194400, 0x95dc55de
0, 72600, 194400, 0x392e61d2
0, 72900, 194400, 0x113c7bb8
0, 73200, 194400, 0x17128fa4
0, 73500, 194400, 0xf95e9b98
0, 73800, 194400, 0xdc47aa89
0, 74100, 194400, 0xea5dc073
0, 74400, 194400, 0x8dfadc57
0, 74700, 194400, 0xe5c3e84b
0, 75000, 194400, 0x8952f43f
0, 75300, 194400, 0xec9e0240
0, 75600, 194400, 0x8f460c36
0, 75900, 194400, 0xd43e182a
0, 76200, 194400, 0xb00b2919
0, 76500, 194400, 0xc9f6350d
0, 76800, 194400, 0x87ca44fd
0, 77100, 194400, 0xa6a250f1
0, 77400, 194400, 0x34fa60e1
0, 77700, 194400, 0xe1a372cf
0, 78000, 194400, 0xc80785bc
0, 78300, 194400, 0x43e297aa
0, 78600, 194400, 0x7e8ea49d
0, 78900, 194400, 0xd009b091
0, 79200, 194400, 0x9126bc85
0, 79500, 194400, 0x175ad36e
0, 79800, 194400, 0xf9dae160
0, 80100, 194400, 0x1b98f948
0, 80400, 194400, 0xa6c5133d
0, 80700, 194400, 0xf5d42729
0, 81000, 194400, 0x8cfe311f
0, 81300, 194400, 0x18733e12
0, 81600, 194400, 0x24ac50ff
0, 81900, 194400, 0x0d1c64eb
0, 82200, 194400, 0xde947cd3
0, 82500, 194400, 0x08268dc2
0, 82800, 194400, 0xfec69fb0
0, 83100, 194400, 0xba83aba4
0, 83400, 194400, 0xfbe2bc93
0, 83700, 194400, 0xe22fcc83
0, 84000, 194400, 0x050fcf80
0, 84300, 194400, 0xee1ed778
0, 84600, 194400, 0xb44cda75
0, 84900, 194400, 0xa29fe46b
0, 85200, 194400, 0xa99bf55a
0, 85500, 194400, 0x4f840d51
0, 85800, 194400, 0x58941945
0, 86100, 194400, 0x62cb2638
0, 86400, 194400, 0x22ee312d
0, 86700, 194400, 0xea8f3925
0, 87000, 194400, 0xed294c12
0, 87300, 194400, 0xafa75e00
0, 87600, 194400, 0x19d45ffe
0, 87900, 194400, 0x7fcf61fc
0, 88200, 194400, 0x2c126df0
0, 88500, 194400, 0x331379e4
0, 88800, 194400, 0x99fe8cd1
0, 89100, 194400, 0xa5ec98c5
0, 89400, 194400, 0xac68a6b7
0, 89700, 194400, 0x28e6b2ab

Loading…
Cancel
Save