Browse Source

DV packet copy fix by Roman Shaposhnick

Originally committed as revision 1548 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Fabrice Bellard 23 years ago
parent
commit
ec82011340
1 changed files with 12 additions and 6 deletions
  1. +12
    -6
      libavformat/dv.c

+ 12
- 6
libavformat/dv.c View File

@@ -53,7 +53,12 @@ static int dv_read_header(AVFormatContext *s,
return 0;
}

/* XXX: build fake audio stream when DV audio decoder will be finished */
static void __destruct_pkt(struct AVPacket *pkt)
{
pkt->data = NULL; pkt->size = 0;
return;
}

static int dv_read_packet(AVFormatContext *s, AVPacket *pkt)
{
int ret, dsf;
@@ -74,13 +79,14 @@ static int dv_read_packet(AVFormatContext *s, AVPacket *pkt)
return -EIO;
}
if (av_new_packet(pkt, c->size) < 0)
return -EIO;

av_init_packet(pkt);
pkt->destruct = __destruct_pkt;
pkt->data = c->buf;
pkt->size = c->size;
pkt->stream_index = c->is_audio;
c->is_audio = !c->is_audio;
memcpy(pkt->data, c->buf, c->size);
return ret;
return c->size;
}

static int dv_read_close(AVFormatContext *s)


Loading…
Cancel
Save