{
GstStructure *s;
const gchar *name;
+ GstPbUtilsCapsDescriptionFlags desc;
if (gst_caps_get_size (caps) < 1)
return GST_STREAM_TYPE_UNKNOWN;
g_str_has_prefix (name, "closedcaption/"))
return GST_STREAM_TYPE_TEXT;
- return GST_STREAM_TYPE_UNKNOWN;
+ /* Use information from pbutils. Note that we only care about elementary
+ * streams which is why we check flag equality */
+ desc = gst_pb_utils_get_caps_description_flags (caps);
+ switch (desc) {
+ case GST_PBUTILS_CAPS_DESCRIPTION_FLAG_AUDIO:
+ return GST_STREAM_TYPE_AUDIO;
+ case GST_PBUTILS_CAPS_DESCRIPTION_FLAG_VIDEO:
+ return GST_STREAM_TYPE_VIDEO;
+ case GST_PBUTILS_CAPS_DESCRIPTION_FLAG_SUBTITLE:
+ return GST_STREAM_TYPE_TEXT;
+ default:
+ return GST_STREAM_TYPE_UNKNOWN;
+ }
}
static void