summaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorJeroen Vreeken <jeroen@vreeken.net>2019-07-10 11:05:38 +0200
committerJeroen Vreeken <jeroen@vreeken.net>2019-07-10 11:08:09 +0200
commit18f9b185b67120ba88f5e643b7413ca06c497383 (patch)
treee07ea39a12a7d6b1e0b7c88cdaf2764ae2ba6836 /media
parentdd924323c3cda022493cd78d42da190577be20cf (diff)
downloaduxp-18f9b185b67120ba88f5e643b7413ca06c497383.tar.gz
Allow matroska mime types for video element and MSE
Allow avc (h.264) content in matroska/webm containers
Diffstat (limited to 'media')
-rw-r--r--media/libnestegg/include/nestegg.h1
-rw-r--r--media/libnestegg/src/nestegg.c7
2 files changed, 7 insertions, 1 deletions
diff --git a/media/libnestegg/include/nestegg.h b/media/libnestegg/include/nestegg.h
index 2baa50bc57..777555f7b6 100644
--- a/media/libnestegg/include/nestegg.h
+++ b/media/libnestegg/include/nestegg.h
@@ -72,6 +72,7 @@ extern "C" {
#define NESTEGG_CODEC_VP9 2 /**< Track uses Google On2 VP9 codec. */
#define NESTEGG_CODEC_OPUS 3 /**< Track uses Xiph Opus codec. */
#define NESTEGG_CODEC_AV1 4 /**< Track uses AOMedia AV1 codec. */
+#define NESTEGG_CODEC_AVC1 5 /**< Track uses AVC1 'h264' */
#define NESTEGG_CODEC_UNKNOWN INT_MAX /**< Track uses unknown codec. */
#define NESTEGG_VIDEO_MONO 0 /**< Track is mono video. */
diff --git a/media/libnestegg/src/nestegg.c b/media/libnestegg/src/nestegg.c
index 61c30ec6b6..6f0d55b461 100644
--- a/media/libnestegg/src/nestegg.c
+++ b/media/libnestegg/src/nestegg.c
@@ -157,6 +157,7 @@ enum ebml_type_enum {
#define TRACK_ID_AV1 "V_AV1"
#define TRACK_ID_VORBIS "A_VORBIS"
#define TRACK_ID_OPUS "A_OPUS"
+#define TRACK_ID_AVC1 "V_MPEG4/ISO/AVC"
/* Track Encryption */
#define CONTENT_ENC_ALGO_AES 5
@@ -2401,6 +2402,9 @@ nestegg_track_codec_id(nestegg * ctx, unsigned int track)
if (strcmp(codec_id, TRACK_ID_OPUS) == 0)
return NESTEGG_CODEC_OPUS;
+ if (strcmp(codec_id, TRACK_ID_AVC1) == 0)
+ return NESTEGG_CODEC_AVC1;
+
return NESTEGG_CODEC_UNKNOWN;
}
@@ -2459,7 +2463,8 @@ nestegg_track_codec_data(nestegg * ctx, unsigned int track, unsigned int item,
return -1;
if (nestegg_track_codec_id(ctx, track) != NESTEGG_CODEC_VORBIS &&
- nestegg_track_codec_id(ctx, track) != NESTEGG_CODEC_OPUS)
+ nestegg_track_codec_id(ctx, track) != NESTEGG_CODEC_OPUS &&
+ nestegg_track_codec_id(ctx, track) != NESTEGG_CODEC_AVC1)
return -1;
if (ne_get_binary(entry->codec_private, &codec_private) != 0)