Remove any reference to ASFContext.packet_size and replace it with

AVFormatContext.packet_size. See "[PATCH] asf*.c/h: use
AVFormatContext->packet_size instead of own copy" thread on ML.

Originally committed as revision 19270 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ronald S. Bultje 2009-06-24 23:04:05 +00:00
parent a752069dba
commit 91d19d471b
3 changed files with 17 additions and 19 deletions

View File

@ -82,7 +82,6 @@ typedef struct {
typedef struct { typedef struct {
uint32_t seqno; uint32_t seqno;
unsigned int packet_size;
int is_streamed; int is_streamed;
int asfid2avid[128]; ///< conversion table from asf ID 2 AVStream ID int asfid2avid[128]; ///< conversion table from asf ID 2 AVStream ID
ASFStream streams[128]; ///< it's max number and it's not that big ASFStream streams[128]; ///< it's max number and it's not that big

View File

@ -221,7 +221,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
asf->hdr.min_pktsize = get_le32(pb); asf->hdr.min_pktsize = get_le32(pb);
asf->hdr.max_pktsize = get_le32(pb); asf->hdr.max_pktsize = get_le32(pb);
asf->hdr.max_bitrate = get_le32(pb); asf->hdr.max_bitrate = get_le32(pb);
asf->packet_size = asf->hdr.max_pktsize; s->packet_size = asf->hdr.max_pktsize;
} else if (!guidcmp(&g, &ff_asf_stream_header)) { } else if (!guidcmp(&g, &ff_asf_stream_header)) {
enum CodecType type; enum CodecType type;
int type_specific_size, sizeX; int type_specific_size, sizeX;
@ -595,7 +595,7 @@ static int ff_asf_get_packet(AVFormatContext *s, ByteIOContext *pb)
int rsize = 8; int rsize = 8;
int c, d, e, off; int c, d, e, off;
off= (url_ftell(pb) - s->data_offset) % asf->packet_size + 3; off= (url_ftell(pb) - s->data_offset) % s->packet_size + 3;
c=d=e=-1; c=d=e=-1;
while(off-- > 0){ while(off-- > 0){
@ -625,7 +625,7 @@ static int ff_asf_get_packet(AVFormatContext *s, ByteIOContext *pb)
asf->packet_flags = c; asf->packet_flags = c;
asf->packet_property = d; asf->packet_property = d;
DO_2BITS(asf->packet_flags >> 5, packet_length, asf->packet_size); DO_2BITS(asf->packet_flags >> 5, packet_length, s->packet_size);
DO_2BITS(asf->packet_flags >> 1, padsize, 0); // sequence ignored DO_2BITS(asf->packet_flags >> 1, padsize, 0); // sequence ignored
DO_2BITS(asf->packet_flags >> 3, padsize, 0); // padding length DO_2BITS(asf->packet_flags >> 3, padsize, 0); // padding length
@ -654,7 +654,7 @@ static int ff_asf_get_packet(AVFormatContext *s, ByteIOContext *pb)
if (packet_length < asf->hdr.min_pktsize) if (packet_length < asf->hdr.min_pktsize)
padsize += asf->hdr.min_pktsize - packet_length; padsize += asf->hdr.min_pktsize - packet_length;
asf->packet_padsize = padsize; asf->packet_padsize = padsize;
dprintf(s, "packet: size=%d padsize=%d left=%d\n", asf->packet_size, asf->packet_padsize, asf->packet_size_left); dprintf(s, "packet: size=%d padsize=%d left=%d\n", s->packet_size, asf->packet_padsize, asf->packet_size_left);
return 0; return 0;
} }
@ -835,7 +835,7 @@ static int ff_asf_parse_packet(AVFormatContext *s, ByteIOContext *pb, AVPacket *
/* read data */ /* read data */
//printf("READ PACKET s:%d os:%d o:%d,%d l:%d DATA:%p\n", //printf("READ PACKET s:%d os:%d o:%d,%d l:%d DATA:%p\n",
// asf->packet_size, asf_st->pkt.size, asf->packet_frag_offset, // s->packet_size, asf_st->pkt.size, asf->packet_frag_offset,
// asf_st->frag_offset, asf->packet_frag_size, asf_st->pkt.data); // asf_st->frag_offset, asf->packet_frag_size, asf_st->pkt.data);
asf->packet_size_left -= asf->packet_frag_size; asf->packet_size_left -= asf->packet_frag_size;
if (asf->packet_size_left < 0) if (asf->packet_size_left < 0)
@ -978,7 +978,6 @@ static int asf_read_close(AVFormatContext *s)
static int64_t asf_read_pts(AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit) static int64_t asf_read_pts(AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit)
{ {
ASFContext *asf = s->priv_data;
AVPacket pkt1, *pkt = &pkt1; AVPacket pkt1, *pkt = &pkt1;
ASFStream *asf_st; ASFStream *asf_st;
int64_t pts; int64_t pts;
@ -990,7 +989,7 @@ static int64_t asf_read_pts(AVFormatContext *s, int stream_index, int64_t *ppos,
start_pos[i]= pos; start_pos[i]= pos;
} }
pos= (pos+asf->packet_size-1-s->data_offset)/asf->packet_size*asf->packet_size+ s->data_offset; pos= (pos+s->packet_size-1-s->data_offset)/s->packet_size*s->packet_size+ s->data_offset;
*ppos= pos; *ppos= pos;
url_fseek(s->pb, pos, SEEK_SET); url_fseek(s->pb, pos, SEEK_SET);
@ -1010,7 +1009,7 @@ static int64_t asf_read_pts(AVFormatContext *s, int stream_index, int64_t *ppos,
asf_st= s->streams[i]->priv_data; asf_st= s->streams[i]->priv_data;
// assert((asf_st->packet_pos - s->data_offset) % asf->packet_size == 0); // assert((asf_st->packet_pos - s->data_offset) % s->packet_size == 0);
pos= asf_st->packet_pos; pos= asf_st->packet_pos;
av_add_index_entry(s->streams[i], pos, pts, pkt->size, pos - start_pos[i] + 1, AVINDEX_KEYFRAME); av_add_index_entry(s->streams[i], pos, pts, pkt->size, pos - start_pos[i] + 1, AVINDEX_KEYFRAME);
@ -1049,11 +1048,11 @@ static void asf_build_simple_index(AVFormatContext *s, int stream_index)
for (i=0;i<ict;i++){ for (i=0;i<ict;i++){
int pktnum=get_le32(s->pb); int pktnum=get_le32(s->pb);
int pktct =get_le16(s->pb); int pktct =get_le16(s->pb);
int64_t pos = s->data_offset + asf->packet_size*(int64_t)pktnum; int64_t pos = s->data_offset + s->packet_size*(int64_t)pktnum;
int64_t index_pts= av_rescale(itime, i, 10000); int64_t index_pts= av_rescale(itime, i, 10000);
av_log(s, AV_LOG_DEBUG, "pktnum:%d, pktct:%d\n", pktnum, pktct); av_log(s, AV_LOG_DEBUG, "pktnum:%d, pktct:%d\n", pktnum, pktct);
av_add_index_entry(s->streams[stream_index], pos, index_pts, asf->packet_size, 0, AVINDEX_KEYFRAME); av_add_index_entry(s->streams[stream_index], pos, index_pts, s->packet_size, 0, AVINDEX_KEYFRAME);
} }
asf->index_read= 1; asf->index_read= 1;
} }
@ -1067,7 +1066,7 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int
int64_t pos; int64_t pos;
int index; int index;
if (asf->packet_size <= 0) if (s->packet_size <= 0)
return -1; return -1;
/* Try using the protocol's read_seek if available */ /* Try using the protocol's read_seek if available */

View File

@ -321,8 +321,8 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data
put_le64(pb, asf->duration); /* duration (in 100ns units) */ put_le64(pb, asf->duration); /* duration (in 100ns units) */
put_le64(pb, PREROLL_TIME); /* start time stamp */ put_le64(pb, PREROLL_TIME); /* start time stamp */
put_le32(pb, (asf->is_streamed || url_is_streamed(pb)) ? 3 : 2); /* ??? */ put_le32(pb, (asf->is_streamed || url_is_streamed(pb)) ? 3 : 2); /* ??? */
put_le32(pb, asf->packet_size); /* packet size */ put_le32(pb, s->packet_size); /* packet size */
put_le32(pb, asf->packet_size); /* packet size */ put_le32(pb, s->packet_size); /* packet size */
put_le32(pb, bit_rate); /* Nominal data rate in bps */ put_le32(pb, bit_rate); /* Nominal data rate in bps */
end_header(pb, hpos); end_header(pb, hpos);
@ -514,7 +514,7 @@ static int asf_write_header(AVFormatContext *s)
{ {
ASFContext *asf = s->priv_data; ASFContext *asf = s->priv_data;
asf->packet_size = PACKET_SIZE; s->packet_size = PACKET_SIZE;
asf->nb_packets = 0; asf->nb_packets = 0;
asf->last_indexed_pts = 0; asf->last_indexed_pts = 0;
@ -536,7 +536,7 @@ static int asf_write_header(AVFormatContext *s)
asf->packet_nb_payloads = 0; asf->packet_nb_payloads = 0;
asf->packet_timestamp_start = -1; asf->packet_timestamp_start = -1;
asf->packet_timestamp_end = -1; asf->packet_timestamp_end = -1;
init_put_byte(&asf->pb, asf->packet_buf, asf->packet_size, 1, init_put_byte(&asf->pb, asf->packet_buf, s->packet_size, 1,
NULL, NULL, NULL, NULL); NULL, NULL, NULL, NULL);
return 0; return 0;
@ -612,7 +612,7 @@ static void flush_packet(AVFormatContext *s)
assert(asf->packet_timestamp_end >= asf->packet_timestamp_start); assert(asf->packet_timestamp_end >= asf->packet_timestamp_start);
if (asf->is_streamed) { if (asf->is_streamed) {
put_chunk(s, 0x4424, asf->packet_size, 0); put_chunk(s, 0x4424, s->packet_size, 0);
} }
packet_hdr_size = put_payload_parsing_info( packet_hdr_size = put_payload_parsing_info(
@ -627,14 +627,14 @@ static void flush_packet(AVFormatContext *s)
assert(packet_hdr_size <= asf->packet_size_left); assert(packet_hdr_size <= asf->packet_size_left);
memset(asf->packet_buf + packet_filled_size, 0, asf->packet_size_left); memset(asf->packet_buf + packet_filled_size, 0, asf->packet_size_left);
put_buffer(s->pb, asf->packet_buf, asf->packet_size - packet_hdr_size); put_buffer(s->pb, asf->packet_buf, s->packet_size - packet_hdr_size);
put_flush_packet(s->pb); put_flush_packet(s->pb);
asf->nb_packets++; asf->nb_packets++;
asf->packet_nb_payloads = 0; asf->packet_nb_payloads = 0;
asf->packet_timestamp_start = -1; asf->packet_timestamp_start = -1;
asf->packet_timestamp_end = -1; asf->packet_timestamp_end = -1;
init_put_byte(&asf->pb, asf->packet_buf, asf->packet_size, 1, init_put_byte(&asf->pb, asf->packet_buf, s->packet_size, 1,
NULL, NULL, NULL, NULL); NULL, NULL, NULL, NULL);
} }