|
|
|
@ -3885,6 +3885,7 @@ static int matroska_read_close(AVFormatContext *s) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if CONFIG_WEBM_DASH_MANIFEST_DEMUXER |
|
|
|
|
typedef struct { |
|
|
|
|
int64_t start_time_ns; |
|
|
|
|
int64_t end_time_ns; |
|
|
|
@ -4292,6 +4293,18 @@ static const AVClass webm_dash_class = { |
|
|
|
|
.version = LIBAVUTIL_VERSION_INT, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const AVInputFormat ff_webm_dash_manifest_demuxer = { |
|
|
|
|
.name = "webm_dash_manifest", |
|
|
|
|
.long_name = NULL_IF_CONFIG_SMALL("WebM DASH Manifest"), |
|
|
|
|
.priv_class = &webm_dash_class, |
|
|
|
|
.priv_data_size = sizeof(MatroskaDemuxContext), |
|
|
|
|
.flags_internal = FF_FMT_INIT_CLEANUP, |
|
|
|
|
.read_header = webm_dash_manifest_read_header, |
|
|
|
|
.read_packet = webm_dash_manifest_read_packet, |
|
|
|
|
.read_close = matroska_read_close, |
|
|
|
|
}; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
const AVInputFormat ff_matroska_demuxer = { |
|
|
|
|
.name = "matroska,webm", |
|
|
|
|
.long_name = NULL_IF_CONFIG_SMALL("Matroska / WebM"), |
|
|
|
@ -4305,14 +4318,3 @@ const AVInputFormat ff_matroska_demuxer = { |
|
|
|
|
.read_seek = matroska_read_seek, |
|
|
|
|
.mime_type = "audio/webm,audio/x-matroska,video/webm,video/x-matroska" |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const AVInputFormat ff_webm_dash_manifest_demuxer = { |
|
|
|
|
.name = "webm_dash_manifest", |
|
|
|
|
.long_name = NULL_IF_CONFIG_SMALL("WebM DASH Manifest"), |
|
|
|
|
.priv_data_size = sizeof(MatroskaDemuxContext), |
|
|
|
|
.flags_internal = FF_FMT_INIT_CLEANUP, |
|
|
|
|
.read_header = webm_dash_manifest_read_header, |
|
|
|
|
.read_packet = webm_dash_manifest_read_packet, |
|
|
|
|
.read_close = matroska_read_close, |
|
|
|
|
.priv_class = &webm_dash_class, |
|
|
|
|
}; |
|
|
|
|