Commit 75b213ed authored by Michael Niedermayer's avatar Michael Niedermayer

prevent audio packets from being fragmented, wmp mac doesnt seem to like that...

prevent audio packets from being fragmented, wmp mac doesnt seem to like that and microshitty also doesnt seem to ever fragment them

Originally committed as revision 8265 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent cf29452b
...@@ -648,6 +648,7 @@ static void put_payload_header( ...@@ -648,6 +648,7 @@ static void put_payload_header(
static void put_frame( static void put_frame(
AVFormatContext *s, AVFormatContext *s,
ASFStream *stream, ASFStream *stream,
AVStream *avst,
int timestamp, int timestamp,
const uint8_t *buf, const uint8_t *buf,
int m_obj_size, int m_obj_size,
...@@ -677,6 +678,11 @@ static void put_frame( ...@@ -677,6 +678,11 @@ static void put_frame(
frag_len1 = asf->packet_size_left - PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS - PACKET_HEADER_MIN_SIZE - 1; frag_len1 = asf->packet_size_left - PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS - PACKET_HEADER_MIN_SIZE - 1;
asf->packet_timestamp_start = timestamp; asf->packet_timestamp_start = timestamp;
if(frag_len1 < payload_len && avst->codec->codec_type == CODEC_TYPE_AUDIO){
flush_packet(s);
continue;
}
} }
if (frag_len1 > 0) { if (frag_len1 > 0) {
if (payload_len > frag_len1) if (payload_len > frag_len1)
...@@ -731,7 +737,7 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -731,7 +737,7 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt)
asf->duration= FFMAX(asf->duration, duration); asf->duration= FFMAX(asf->duration, duration);
packet_st = asf->nb_packets; packet_st = asf->nb_packets;
put_frame(s, stream, pkt->dts, pkt->data, pkt->size, flags); put_frame(s, stream, s->streams[pkt->stream_index], pkt->dts, pkt->data, pkt->size, flags);
/* check index */ /* check index */
if ((!asf->is_streamed) && (flags & PKT_FLAG_KEY)) { if ((!asf->is_streamed) && (flags & PKT_FLAG_KEY)) {
......
...@@ -188,11 +188,11 @@ c3382f03ce2efb5d475240d288a33898 *./data/a-flac.flac ...@@ -188,11 +188,11 @@ c3382f03ce2efb5d475240d288a33898 *./data/a-flac.flac
353368 ./data/a-flac.flac 353368 ./data/a-flac.flac
c4228df189aad9567a037727d0e763e4 *./data/out.wav c4228df189aad9567a037727d0e763e4 *./data/out.wav
stddev: 33.31 PSNR:65.87 bytes:1040384 stddev: 33.31 PSNR:65.87 bytes:1040384
885affac24b064633c17d92ea23bbe3a *./data/a-wmav1.asf 0c406c4e4586ca27064e28637b662631 *./data/a-wmav1.asf
99604 ./data/a-wmav1.asf 106004 ./data/a-wmav1.asf
stddev:12251.50 PSNR:14.56 bytes:1056768 stddev:12251.50 PSNR:14.56 bytes:1056768
stddev:2106.00 PSNR:29.85 bytes:1048576 stddev:2106.00 PSNR:29.85 bytes:1048576
cf5d1f5ed52230ee3b92efd53f59a668 *./data/a-wmav2.asf 82442aaa5fdbd327769e4c4ad369147e *./data/a-wmav2.asf
99644 ./data/a-wmav2.asf 106044 ./data/a-wmav2.asf
stddev:12255.92 PSNR:14.55 bytes:1056768 stddev:12255.92 PSNR:14.55 bytes:1056768
stddev:2099.31 PSNR:29.88 bytes:1048576 stddev:2099.31 PSNR:29.88 bytes:1048576
...@@ -2,7 +2,7 @@ ffmpeg regression test ...@@ -2,7 +2,7 @@ ffmpeg regression test
8a0536ccfe36f4fff408b3327d33e1dd *./data/b-libav.avi 8a0536ccfe36f4fff408b3327d33e1dd *./data/b-libav.avi
340344 ./data/b-libav.avi 340344 ./data/b-libav.avi
./data/b-libav.avi CRC=0x400c29e9 ./data/b-libav.avi CRC=0x400c29e9
a41bf92d0756cec87288583175f6b5a9 *./data/b-libav.asf 786446e80ead936e5faa8f5908f19281 *./data/b-libav.asf
339775 ./data/b-libav.asf 339775 ./data/b-libav.asf
./data/b-libav.asf CRC=0x74113749 ./data/b-libav.asf CRC=0x74113749
1ad618e9fd318eb3483270cf9b9b3f43 *./data/b-libav.rm 1ad618e9fd318eb3483270cf9b9b3f43 *./data/b-libav.rm
...@@ -10,8 +10,8 @@ a41bf92d0756cec87288583175f6b5a9 *./data/b-libav.asf ...@@ -10,8 +10,8 @@ a41bf92d0756cec87288583175f6b5a9 *./data/b-libav.asf
bdb7484c68db722f66ba1630cf79844c *./data/b-libav.mpg bdb7484c68db722f66ba1630cf79844c *./data/b-libav.mpg
378880 ./data/b-libav.mpg 378880 ./data/b-libav.mpg
./data/b-libav.mpg CRC=0x2b71a386 ./data/b-libav.mpg CRC=0x2b71a386
0bf8fb3b4d7bb70ed89356e94cd8ffa2 *./data/b-libav.ts 322d59758fe9446147223a607d1699bc *./data/b-libav.ts
471316 ./data/b-libav.ts 471692 ./data/b-libav.ts
./data/b-libav.ts CRC=0xcc4948e1 ./data/b-libav.ts CRC=0xcc4948e1
d6fdeb9f7083cc827f9510c6c4517dc0 *./data/b-libav.swf d6fdeb9f7083cc827f9510c6c4517dc0 *./data/b-libav.swf
335771 ./data/b-libav.swf 335771 ./data/b-libav.swf
......
...@@ -188,11 +188,11 @@ c3382f03ce2efb5d475240d288a33898 *./data/a-flac.flac ...@@ -188,11 +188,11 @@ c3382f03ce2efb5d475240d288a33898 *./data/a-flac.flac
353368 ./data/a-flac.flac 353368 ./data/a-flac.flac
c4228df189aad9567a037727d0e763e4 *./data/out.wav c4228df189aad9567a037727d0e763e4 *./data/out.wav
stddev: 33.31 PSNR:65.87 bytes:1040384 stddev: 33.31 PSNR:65.87 bytes:1040384
885affac24b064633c17d92ea23bbe3a *./data/a-wmav1.asf 0c406c4e4586ca27064e28637b662631 *./data/a-wmav1.asf
99604 ./data/a-wmav1.asf 106004 ./data/a-wmav1.asf
stddev:12251.50 PSNR:14.56 bytes:1056768 stddev:12251.50 PSNR:14.56 bytes:1056768
stddev:2106.00 PSNR:29.85 bytes:1048576 stddev:2106.00 PSNR:29.85 bytes:1048576
cf5d1f5ed52230ee3b92efd53f59a668 *./data/a-wmav2.asf 82442aaa5fdbd327769e4c4ad369147e *./data/a-wmav2.asf
99644 ./data/a-wmav2.asf 106044 ./data/a-wmav2.asf
stddev:12255.92 PSNR:14.55 bytes:1056768 stddev:12255.92 PSNR:14.55 bytes:1056768
stddev:2099.31 PSNR:29.88 bytes:1048576 stddev:2099.31 PSNR:29.88 bytes:1048576
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment