Merge commit 'abda15a990'
* commit 'abda15a990':
cdg: set the keyframe flag on the first packet
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
714d9bd6ee
1 changed files with 11 additions and 0 deletions
|
|
@ -26,6 +26,10 @@
|
|||
#define CDG_COMMAND 0x09
|
||||
#define CDG_MASK 0x3F
|
||||
|
||||
typedef struct CDGContext {
|
||||
int got_first_packet;
|
||||
} CDGContext;
|
||||
|
||||
static int read_header(AVFormatContext *s)
|
||||
{
|
||||
AVStream *vst;
|
||||
|
|
@ -50,6 +54,7 @@ static int read_header(AVFormatContext *s)
|
|||
|
||||
static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
{
|
||||
CDGContext *priv = s->priv_data;
|
||||
int ret;
|
||||
|
||||
while (1) {
|
||||
|
|
@ -59,6 +64,11 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||
av_free_packet(pkt);
|
||||
}
|
||||
|
||||
if (!priv->got_first_packet) {
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
priv->got_first_packet = 1;
|
||||
}
|
||||
|
||||
pkt->stream_index = 0;
|
||||
pkt->dts=
|
||||
pkt->pts= pkt->pos / CDG_PACKET_SIZE;
|
||||
|
|
@ -72,6 +82,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||
AVInputFormat ff_cdg_demuxer = {
|
||||
.name = "cdg",
|
||||
.long_name = NULL_IF_CONFIG_SMALL("CD Graphics"),
|
||||
.priv_data_size = sizeof(CDGContext),
|
||||
.read_header = read_header,
|
||||
.read_packet = read_packet,
|
||||
.flags = AVFMT_GENERIC_INDEX,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue