# HG changeset patch # User michael # Date 1173117289 0 # Node ID 54f814d6708cb8e9c4ea0f8dd14f0c069e7bcc43 # Parent 3afb2bec62c137bdc1fdc5f50ee1a8e1fcd4b3c4 prevent audio packets from being fragmented, wmp mac doesnt seem to like that and microshitty also doesnt seem to ever fragment them diff -r 3afb2bec62c1 -r 54f814d6708c asf-enc.c --- a/asf-enc.c Mon Mar 05 16:12:29 2007 +0000 +++ b/asf-enc.c Mon Mar 05 17:54:49 2007 +0000 @@ -648,6 +648,7 @@ static void put_frame( AVFormatContext *s, ASFStream *stream, + AVStream *avst, int timestamp, const uint8_t *buf, int m_obj_size, @@ -677,6 +678,11 @@ frag_len1 = asf->packet_size_left - PAYLOAD_HEADER_SIZE_MULTIPLE_PAYLOADS - PACKET_HEADER_MIN_SIZE - 1; 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 (payload_len > frag_len1) @@ -731,7 +737,7 @@ asf->duration= FFMAX(asf->duration, duration); 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 */ if ((!asf->is_streamed) && (flags & PKT_FLAG_KEY)) {