diff --git a/gst/isomp4/fourcc.h b/gst/isomp4/fourcc.h index 4e39d337e5..3a92e83760 100644 --- a/gst/isomp4/fourcc.h +++ b/gst/isomp4/fourcc.h @@ -251,6 +251,7 @@ G_BEGIN_DECLS #define FOURCC_vc_1 GST_MAKE_FOURCC('v','c','-','1') #define FOURCC_vide GST_MAKE_FOURCC('v','i','d','e') #define FOURCC_vmhd GST_MAKE_FOURCC('v','m','h','d') +#define FOURCC_vp09 GST_MAKE_FOURCC('v','p','0','9') #define FOURCC_xvid GST_MAKE_FOURCC('x','v','i','d') #define FOURCC_wave GST_MAKE_FOURCC('w','a','v','e') #define FOURCC_wide GST_MAKE_FOURCC('w','i','d','e') diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c index 3d98ae3722..57294fed53 100644 --- a/gst/isomp4/gstqtmux.c +++ b/gst/isomp4/gstqtmux.c @@ -5348,6 +5348,8 @@ gst_qt_mux_video_sink_set_caps (GstQTPad * qtpad, GstCaps * caps) } else if (strcmp (mimetype, "video/x-vp8") == 0) { entry.fourcc = FOURCC_VP80; sync = FALSE; + } else if (strcmp (mimetype, "video/x-vp9") == 0) { + entry.fourcc = FOURCC_vp09; } else if (strcmp (mimetype, "video/x-dirac") == 0) { entry.fourcc = FOURCC_drac; } else if (strcmp (mimetype, "video/x-qt-part") == 0) { diff --git a/gst/isomp4/gstqtmuxmap.c b/gst/isomp4/gstqtmuxmap.c index 239ff26c85..4e34e137f9 100644 --- a/gst/isomp4/gstqtmuxmap.c +++ b/gst/isomp4/gstqtmuxmap.c @@ -196,6 +196,8 @@ GstQTMuxFormatProp gst_qt_mux_format_list[] = { COMMON_VIDEO_CAPS_NO_FRAMERATE "; " "video/x-vp8, " COMMON_VIDEO_CAPS "; " + "video/x-vp9, " + COMMON_VIDEO_CAPS "; " "video/x-dirac, " COMMON_VIDEO_CAPS "; " "video/x-qt-part, " COMMON_VIDEO_CAPS), GST_STATIC_CAPS (PCM_CAPS_FULL "; " diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index 5a78702bf4..6a75301cac 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -13940,6 +13940,10 @@ qtdemux_video_caps (GstQTDemux * qtdemux, QtDemuxStream * stream, _codec ("On2 VP8"); caps = gst_caps_from_string ("video/x-vp8"); break; + case FOURCC_vp09: + _codec ("Google VP9"); + caps = gst_caps_from_string ("video/x-vp9"); + break; case FOURCC_apcs: _codec ("Apple ProRes LT"); caps =