You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Merge commit '3f75e5116b900f1428aa13041fc7d6301bf1988a'
* commit '3f75e5116b900f1428aa13041fc7d6301bf1988a': avio: Keep track of the amount of data written Merged-by: James Almer <jamrial@gmail.com>
This commit is contained in:
		| @@ -327,6 +327,8 @@ typedef struct AVIOContext { | ||||
|      * This is current internal only, do not use from outside. | ||||
|      */ | ||||
|     int (*short_seek_get)(void *opaque); | ||||
|  | ||||
|     int64_t written; | ||||
| } AVIOContext; | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -120,6 +120,7 @@ int ffio_init_context(AVIOContext *s, | ||||
|     s->current_type          = AVIO_DATA_MARKER_UNKNOWN; | ||||
|     s->last_time             = AV_NOPTS_VALUE; | ||||
|     s->short_seek_get        = NULL; | ||||
|     s->written               = 0; | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
| @@ -154,6 +155,9 @@ static void writeout(AVIOContext *s, const uint8_t *data, int len) | ||||
|             ret = s->write_packet(s->opaque, (uint8_t *)data, len); | ||||
|         if (ret < 0) { | ||||
|             s->error = ret; | ||||
|         } else { | ||||
|             if (s->pos + len > s->written) | ||||
|                 s->written = s->pos + len; | ||||
|         } | ||||
|     } | ||||
|     if (s->current_type == AVIO_DATA_MARKER_SYNC_POINT || | ||||
| @@ -323,6 +327,9 @@ int64_t avio_size(AVIOContext *s) | ||||
|     if (!s) | ||||
|         return AVERROR(EINVAL); | ||||
|  | ||||
|     if (s->written) | ||||
|         return s->written; | ||||
|  | ||||
|     if (!s->seek) | ||||
|         return AVERROR(ENOSYS); | ||||
|     size = s->seek(s->opaque, 0, AVSEEK_SIZE); | ||||
|   | ||||
| @@ -33,7 +33,7 @@ | ||||
| // Also please add any ticket numbers that you believe might be affected here | ||||
| #define LIBAVFORMAT_VERSION_MAJOR  57 | ||||
| #define LIBAVFORMAT_VERSION_MINOR  72 | ||||
| #define LIBAVFORMAT_VERSION_MICRO 100 | ||||
| #define LIBAVFORMAT_VERSION_MICRO 101 | ||||
|  | ||||
| #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ | ||||
|                                                LIBAVFORMAT_VERSION_MINOR, \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user