# HG changeset patch # User tmmm # Date 1064094873 0 # Node ID bca5abd97e432e2f219997c03d859af87d35c654 # Parent 408f620eed8c90818c5fc986ab343c41e6f54bb8 clean up 4xm demuxer; make valgrind just a little happier diff -r 408f620eed8c -r bca5abd97e43 4xm.c --- a/4xm.c Sat Sep 20 00:31:43 2003 +0000 +++ b/4xm.c Sat Sep 20 21:54:33 2003 +0000 @@ -89,6 +89,9 @@ static int fourxm_probe(AVProbeData *p) { + if (p->buf_size < 12) + return 0; + if ((LE_32(&p->buf[0]) != RIFF_TAG) || (LE_32(&p->buf[8]) != _4XMV_TAG)) return 0; @@ -242,7 +245,6 @@ return ret; fourcc_tag = LE_32(&header[0]); size = LE_32(&header[4]); -//printf(" %8X %c%c%c%c %d\n", fourcc_tag, fourcc_tag, fourcc_tag>>8, fourcc_tag>>16, fourcc_tag>>24, size); if (url_feof(pb)) return -EIO; switch (fourcc_tag) { @@ -256,10 +258,7 @@ case pfrm_TAG: case cfrm_TAG:{ -int id, whole; -static int stats[1000]; - - /* bump the pts if this last data sent out was audio */ + /* bump the pts if the last data sent out was audio */ if (fourxm->last_chunk_was_audio) { fourxm->last_chunk_was_audio = 0; pts_inc = fourxm->last_audio_frame_count; @@ -277,13 +276,6 @@ memcpy(pkt->data, header, 8); ret = get_buffer(&s->pb, &pkt->data[8], size); -if (fourcc_tag == cfrm_TAG) { -id = LE_32(&pkt->data[12]); -whole = LE_32(&pkt->data[16]); -stats[id] += size - 12; -//printf(" cfrm chunk id:%d size:%d whole:%d until now:%d\n", id, size, whole, stats[id]); -} - if (ret < 0) av_free_packet(pkt); else @@ -292,13 +284,11 @@ } case snd__TAG: -printf (" snd_ chunk, "); track_number = get_le32(pb); out_size= get_le32(pb); size-=8; if (track_number == fourxm->selected_track) { -printf ("correct track, dispatching...\n"); if (av_new_packet(pkt, size)) return -EIO; pkt->stream_index = @@ -317,7 +307,6 @@ fourxm->tracks[fourxm->selected_track].channels); } else { -printf ("wrong track, skipping...\n"); url_fseek(pb, size, SEEK_CUR); } break; diff -r 408f620eed8c -r bca5abd97e43 idroq.c --- a/idroq.c Sat Sep 20 00:31:43 2003 +0000 +++ b/idroq.c Sat Sep 20 21:54:33 2003 +0000 @@ -62,6 +62,9 @@ static int roq_probe(AVProbeData *p) { + if (p->buf_size < 6) + return 0; + if ((LE_16(&p->buf[0]) != RoQ_MAGIC_NUMBER) || (LE_32(&p->buf[2]) != 0xFFFFFFFF)) return 0;