[Ffmpeg-cvslog] r7221 - in trunk/libavformat: asf.c asf.h
takis
subversion
Mon Dec 4 16:46:33 CET 2006
Author: takis
Date: Mon Dec 4 16:46:32 2006
New Revision: 7221
Modified:
trunk/libavformat/asf.c
trunk/libavformat/asf.h
Log:
Minor modifications to handle mms streaming.
Patch by Ryan Martell rdm4 martellventures com.
Modified: trunk/libavformat/asf.c
==============================================================================
--- trunk/libavformat/asf.c (original)
+++ trunk/libavformat/asf.c Mon Dec 4 16:46:32 2006
@@ -203,8 +203,10 @@
goto fail;
st->priv_data = asf_st;
st->start_time = asf->hdr.preroll;
- st->duration = asf->hdr.send_time /
- (10000000 / 1000) - st->start_time;
+ if(!(asf->hdr.flags & 0x01)) { // if we aren't streaming...
+ st->duration = asf->hdr.send_time /
+ (10000000 / 1000) - st->start_time;
+ }
get_guid(pb, &g);
test_for_ext_stream_audio = 0;
@@ -328,7 +330,8 @@
url_fskip(pb, gsize - (pos2 - pos1 + 24));
} else if (!memcmp(&g, &data_header, sizeof(GUID))) {
asf->data_object_offset = url_ftell(pb);
- if (gsize != (uint64_t)-1 && gsize >= 24) {
+ // if not streaming, gsize is not unlimited (how?), and there is enough space in the file..
+ if (!(asf->hdr.flags & 0x01) && gsize != (uint64_t)-1 && gsize >= 24) {
asf->data_object_size = gsize - 24;
} else {
asf->data_object_size = (uint64_t)-1;
Modified: trunk/libavformat/asf.h
==============================================================================
--- trunk/libavformat/asf.h (original)
+++ trunk/libavformat/asf.h Mon Dec 4 16:46:32 2006
@@ -86,7 +86,7 @@
int asfid2avid[128]; /* conversion table from asf ID 2 AVStream ID */
ASFStream streams[128]; /* it's max number and it's not that big */
/* non streamed additonnal info */
- int64_t nb_packets;
+ uint64_t nb_packets;
int64_t duration; /* in 100ns units */
/* packet filling */
unsigned char multi_payloads_present;
More information about the ffmpeg-cvslog
mailing list