Browse Source

Make asf_get_packet() and asf_parse_packet() public for use in RTSP-MS and

give them a ff_ prefix. See "[PATCH] asf.c: make functions of interest for
MS-RTSP public" thread on ML.

Originally committed as revision 16205 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Ronald S. Bultje 17 years ago
parent
commit
1d217cdb3f
2 changed files with 25 additions and 14 deletions
  1. +4
    -14
      libavformat/asf.c
  2. +21
    -0
      libavformat/asf.h

+ 4
- 14
libavformat/asf.c View File

@@ -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;
}


+ 21
- 0
libavformat/asf.h View File

@@ -286,4 +286,25 @@ static const GUID my_guid = {

#define ASF_PL_FLAG_KEY_FRAME 0x80 //1000 0000

extern AVInputFormat asf_demuxer;

/**
* Load a single ASF packet into the demuxer.
* @param s demux context
* @param pb context to read data from
* @returns 0 on success, <0 on error
*/
int ff_asf_get_packet(AVFormatContext *s, ByteIOContext *pb);

/**
* Parse data from individual ASF packets (which were previously loaded
* with asf_get_packet()).
* @param s demux context
* @param pb context to read data from
* @param pkt pointer to store packet data into
* @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())
*/
int ff_asf_parse_packet(AVFormatContext *s, ByteIOContext *pb, AVPacket *pkt);

#endif /* AVFORMAT_ASF_H */

Loading…
Cancel
Save