Import more MXF muxer code from the SoC tree

Originally committed as revision 14968 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Vitor Sessak 2008-08-25 20:28:12 +00:00
parent 9ac78726b8
commit 9b0d3e0e03

View File

@ -468,20 +468,6 @@ static void mxf_write_common_fields( ByteIOContext *pb, AVStream *st)
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 @@ fail:
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;