[libav-devel] [PATCH 4/5] asfenc: remember send time and offset of the index entries

2013-09-19 Thread Vladimir Pantelic
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

2013-09-11 Thread Vladimir Pantelic
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

2013-09-11 Thread vladimir
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