# HG changeset patch # User vitor # Date 1219696092 0 # Node ID 85d3aca03313ea06a931cf78c872197501896c6d # Parent d4b086282604de552feb29db5987e8fbd474d456 Import more MXF muxer code from the SoC tree diff -r d4b086282604 -r 85d3aca03313 mxfenc.c --- a/mxfenc.c Mon Aug 25 15:39:43 2008 +0000 +++ b/mxfenc.c Mon Aug 25 20:28:12 2008 +0000 @@ -468,20 +468,6 @@ put_be64(pb, st->duration); } -static int mux_write_packet(AVFormatContext *s, AVPacket *pkt) -{ - ByteIOContext *pb = s->pb; - AVStream *st = s->streams[pkt->stream_index]; - MXFStreamContext *sc = st->priv_data; - - put_buffer(pb, sc->track_essence_element_key, 16); // write key - klv_encode_ber_length(pb, pkt->size); // write length - put_buffer(pb, pkt->data, pkt->size); // write value - - put_flush_packet(pb); - return 0; -} - static void mxf_write_sequence(AVFormatContext *s, int stream_index, enum MXFMetadataSetType type) { ByteIOContext *pb = s->pb; @@ -773,6 +759,20 @@ return -1; } +static int mux_write_packet(AVFormatContext *s, AVPacket *pkt) +{ + ByteIOContext *pb = s->pb; + AVStream *st = s->streams[pkt->stream_index]; + MXFStreamContext *sc = st->priv_data; + + put_buffer(pb, sc->track_essence_element_key, 16); // write key + klv_encode_ber_length(pb, pkt->size); // write length + put_buffer(pb, pkt->data, pkt->size); // write value + + put_flush_packet(pb); + return 0; +} + static void mxf_update_header_partition(AVFormatContext *s, int64_t footer_partition_offset) { MXFContext *mxf = s->priv_data;