summaryrefslogtreecommitdiff
path: root/media/libnestegg/mcp-avcaacsupport.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media/libnestegg/mcp-avcaacsupport.patch')
-rw-r--r--media/libnestegg/mcp-avcaacsupport.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/media/libnestegg/mcp-avcaacsupport.patch b/media/libnestegg/mcp-avcaacsupport.patch
new file mode 100644
index 0000000000..279af76820
--- /dev/null
+++ b/media/libnestegg/mcp-avcaacsupport.patch
@@ -0,0 +1,59 @@
+diff -u /include/nestegg.h /include/nestegg.h
+--- /include/nestegg.h
++++ /include/nestegg.h
+@@ -72,6 +72,8 @@
+ #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' codec. */
++#define NESTEGG_CODEC_AAC 6 /**< Track uses AAC 'mp4a' codec. */
+ #define NESTEGG_CODEC_UNKNOWN INT_MAX /**< Track uses unknown codec. */
+
+ #define NESTEGG_VIDEO_MONO 0 /**< Track is mono video. */
+diff -u /src/nestegg.c /src/nestegg.c
+--- /src/nestegg.c
++++ /src/nestegg.c
+@@ -177,6 +177,8 @@
+ #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"
++#define TRACK_ID_AAC "A_AAC"
+
+ /* Track Encryption */
+ #define CONTENT_ENC_ALGO_AES 5
+@@ -2482,6 +2484,12 @@
+ if (strcmp(codec_id, TRACK_ID_OPUS) == 0)
+ return NESTEGG_CODEC_OPUS;
+
++ if (strcmp(codec_id, TRACK_ID_AVC1) == 0)
++ return NESTEGG_CODEC_AVC1;
++
++ if (strcmp(codec_id, TRACK_ID_AAC) == 0)
++ return NESTEGG_CODEC_AAC;
++
+ return NESTEGG_CODEC_UNKNOWN;
+ }
+
+@@ -2502,7 +2510,8 @@
+
+ codec_id = nestegg_track_codec_id(ctx, track);
+
+- if (codec_id == NESTEGG_CODEC_OPUS) {
++ if (codec_id == NESTEGG_CODEC_OPUS ||
++ codec_id == NESTEGG_CODEC_AAC) {
+ *count = 1;
+ return 0;
+ }
+@@ -2540,7 +2549,9 @@
+ 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 &&
++ nestegg_track_codec_id(ctx, track) != NESTEGG_CODEC_AAC)
+ return -1;
+
+ if (ne_get_binary(entry->codec_private, &codec_private) != 0)
+