summaryrefslogtreecommitdiff
path: root/libavformat/asfenc.c
diff options
context:
space:
mode:
authorVladimir Pantelic <vladoman@gmail.com>2013-09-19 17:50:37 +0200
committerAnton Khirnov <anton@khirnov.net>2013-09-19 19:37:59 +0200
commit09f3c937ed6fd7c5bd64450d45f73b0f4975f4c9 (patch)
tree8999de602db7a12ab5110841aa71ffb1ebc49c8c /libavformat/asfenc.c
parent1eb932803037a3c9f98f66aeb80024dfa3c5c743 (diff)
asfenc: remember send time and offset of the index entries
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavformat/asfenc.c')
-rw-r--r--libavformat/asfenc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/asfenc.c b/libavformat/asfenc.c
index e37b6f7d44..7e1594bc1d 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(10000000);
+ asf->index_ptr[i].offset = offset;
asf->maximum_packet = FFMAX(asf->maximum_packet,
(uint16_t)(asf->nb_packets - packet_st));
}