|
|
|
@@ -555,11 +555,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap) |
|
|
|
default: var = defval; break; \ |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* |
|
|
|
* @return <0 in case of an error |
|
|
|
*/ |
|
|
|
static int asf_get_packet(AVFormatContext *s, ByteIOContext *pb) |
|
|
|
int ff_asf_get_packet(AVFormatContext *s, ByteIOContext *pb) |
|
|
|
{ |
|
|
|
ASFContext *asf = s->priv_data; |
|
|
|
uint32_t packet_length, padsize; |
|
|
|
@@ -703,13 +699,7 @@ static int asf_read_frame_header(AVFormatContext *s, ByteIOContext *pb){ |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Parse data from individual ASF packets (which were previously loaded |
|
|
|
* with asf_get_packet()). |
|
|
|
* @returns 0 if data was stored in pkt, <0 on error or 1 if more ASF |
|
|
|
* packets need to be loaded (through asf_get_packet()) |
|
|
|
*/ |
|
|
|
static int asf_parse_packet(AVFormatContext *s, ByteIOContext *pb, AVPacket *pkt) |
|
|
|
int ff_asf_parse_packet(AVFormatContext *s, ByteIOContext *pb, AVPacket *pkt) |
|
|
|
{ |
|
|
|
ASFContext *asf = s->priv_data; |
|
|
|
ASFStream *asf_st = 0; |
|
|
|
@@ -884,9 +874,9 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt) |
|
|
|
int ret; |
|
|
|
|
|
|
|
/* parse cached packets, if any */ |
|
|
|
if ((ret = asf_parse_packet(s, s->pb, pkt)) <= 0) |
|
|
|
if ((ret = ff_asf_parse_packet(s, s->pb, pkt)) <= 0) |
|
|
|
return ret; |
|
|
|
if ((ret = asf_get_packet(s, s->pb)) < 0) |
|
|
|
if ((ret = ff_asf_get_packet(s, s->pb)) < 0) |
|
|
|
assert(asf->packet_size_left < FRAME_HEADER_SIZE || asf->packet_segments < 1); |
|
|
|
asf->packet_time_start = 0; |
|
|
|
} |
|
|
|
|