[libav-devel] [PATCH 4/5] asfenc: remember send time and offset of the index entries
Signed-off-by: Vladimir Pantelic --- libavformat/asf.h| 2 ++ libavformat/asfenc.c | 4 2 files changed, 6 insertions(+) diff --git a/libavformat/asf.h b/libavformat/asf.h index 4ac644e..2f6722a 100644 --- a/libavformat/asf.h +++ b/libavformat/asf.h @@ -78,6 +78,8 @@ typedef struct ASFMainHeader { typedef struct ASFIndex { uint32_t packet_number; uint16_t packet_count; +uint64_t send_time; +uint64_t offset; } ASFIndex; extern const ff_asf_guid ff_asf_header; diff --git a/libavformat/asfenc.c b/libavformat/asfenc.c index e37b6f7..7e1594b 100644 --- a/libavformat/asfenc.c +++ b/libavformat/asfenc.c @@ -762,12 +762,14 @@ static void put_frame(AVFormatContext *s, ASFStream *stream, AVStream *avst, static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) { ASFContext *asf = s->priv_data; +AVIOContext *pb = s->pb; ASFStream *stream; int64_t duration; AVCodecContext *codec; int64_t packet_st, pts; int start_sec, i; int flags = pkt->flags; +uint64_t offset = avio_tell(pb); codec = s->streams[pkt->stream_index]->codec; stream = &asf->streams[pkt->stream_index]; @@ -802,6 +804,8 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) // store asf->index_ptr[i].packet_number = (uint32_t)packet_st; asf->index_ptr[i].packet_count = (uint16_t)(asf->nb_packets - packet_st); +asf->index_ptr[i].send_time = start_sec * INT64_C(1000); +asf->index_ptr[i].offset= offset; asf->maximum_packet = FFMAX(asf->maximum_packet, (uint16_t)(asf->nb_packets - packet_st)); } -- 1.8.1.4 ___ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel
[libav-devel] [PATCH 4/5] asfenc: remember send time and offset of the index entries
Signed-off-by: Vladimir Pantelic --- libavformat/asf.h| 2 ++ libavformat/asfenc.c | 4 2 files changed, 6 insertions(+) diff --git a/libavformat/asf.h b/libavformat/asf.h index 4ac644e..2f6722a 100644 --- a/libavformat/asf.h +++ b/libavformat/asf.h @@ -78,6 +78,8 @@ typedef struct ASFMainHeader { typedef struct ASFIndex { uint32_t packet_number; uint16_t packet_count; +uint64_t send_time; +uint64_t offset; } ASFIndex; extern const ff_asf_guid ff_asf_header; diff --git a/libavformat/asfenc.c b/libavformat/asfenc.c index e37b6f7..7e1594b 100644 --- a/libavformat/asfenc.c +++ b/libavformat/asfenc.c @@ -762,12 +762,14 @@ static void put_frame(AVFormatContext *s, ASFStream *stream, AVStream *avst, static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) { ASFContext *asf = s->priv_data; +AVIOContext *pb = s->pb; ASFStream *stream; int64_t duration; AVCodecContext *codec; int64_t packet_st, pts; int start_sec, i; int flags = pkt->flags; +uint64_t offset = avio_tell(pb); codec = s->streams[pkt->stream_index]->codec; stream = &asf->streams[pkt->stream_index]; @@ -802,6 +804,8 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) // store asf->index_ptr[i].packet_number = (uint32_t)packet_st; asf->index_ptr[i].packet_count = (uint16_t)(asf->nb_packets - packet_st); +asf->index_ptr[i].send_time = start_sec * INT64_C(1000); +asf->index_ptr[i].offset= offset; asf->maximum_packet = FFMAX(asf->maximum_packet, (uint16_t)(asf->nb_packets - packet_st)); } -- 1.8.1.4 ___ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel
[libav-devel] [PATCH 4/5] asfenc: remember send time and offset of the index entries
Signed-off-by: vladimir --- libavformat/asf.h| 2 ++ libavformat/asfenc.c | 4 2 files changed, 6 insertions(+) diff --git a/libavformat/asf.h b/libavformat/asf.h index 4ac644e..2f6722a 100644 --- a/libavformat/asf.h +++ b/libavformat/asf.h @@ -78,6 +78,8 @@ typedef struct ASFMainHeader { typedef struct ASFIndex { uint32_t packet_number; uint16_t packet_count; +uint64_t send_time; +uint64_t offset; } ASFIndex; extern const ff_asf_guid ff_asf_header; diff --git a/libavformat/asfenc.c b/libavformat/asfenc.c index 33f41e3..19e8110 100644 --- a/libavformat/asfenc.c +++ b/libavformat/asfenc.c @@ -763,12 +763,14 @@ static void put_frame(AVFormatContext *s, ASFStream *stream, AVStream *avst, static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) { ASFContext *asf = s->priv_data; +AVIOContext *pb = s->pb; ASFStream *stream; int64_t duration; AVCodecContext *codec; int64_t packet_st, pts; int start_sec, i; int flags = pkt->flags; +uint64_t offset = avio_tell(pb); codec = s->streams[pkt->stream_index]->codec; stream = &asf->streams[pkt->stream_index]; @@ -803,6 +805,8 @@ static int asf_write_packet(AVFormatContext *s, AVPacket *pkt) // store asf->index_ptr[i].packet_number = (uint32_t)packet_st; asf->index_ptr[i].packet_count = (uint16_t)(asf->nb_packets - packet_st); +asf->index_ptr[i].send_time = start_sec * INT64_C(1000); +asf->index_ptr[i].offset= offset; asf->maximum_packet = FFMAX(asf->maximum_packet, (uint16_t)(asf->nb_packets - packet_st)); } -- 1.8.1.4 ___ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel