mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 03:31:05 +00:00
dashsink: Use gst_codec_utils_caps_get_mime_codec()
Use gst_codec_utils_caps_get_mime_codec() in pbutils for codec strings. That function gives more elaborate RFC 6381 compatible strings than the helper functions in gstmdphelper.c, such as "avc1.F4000D". Remove the helper functions, as they were only used from dashsink. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5404>
This commit is contained in:
parent
3901984621
commit
82a06a36cc
3 changed files with 3 additions and 63 deletions
|
@ -723,23 +723,20 @@ gst_dash_sink_get_stream_metadata (GstDashSink * sink,
|
||||||
GST_DEBUG_OBJECT (sink, "stream caps %s", gst_caps_to_string (caps));
|
GST_DEBUG_OBJECT (sink, "stream caps %s", gst_caps_to_string (caps));
|
||||||
s = gst_caps_get_structure (caps, 0);
|
s = gst_caps_get_structure (caps, 0);
|
||||||
|
|
||||||
|
g_free (stream->codec);
|
||||||
|
stream->codec = gst_codec_utils_caps_get_mime_codec (caps);
|
||||||
|
|
||||||
switch (stream->type) {
|
switch (stream->type) {
|
||||||
case DASH_SINK_STREAM_TYPE_VIDEO:
|
case DASH_SINK_STREAM_TYPE_VIDEO:
|
||||||
{
|
{
|
||||||
gst_structure_get_int (s, "width", &stream->info.video.width);
|
gst_structure_get_int (s, "width", &stream->info.video.width);
|
||||||
gst_structure_get_int (s, "height", &stream->info.video.height);
|
gst_structure_get_int (s, "height", &stream->info.video.height);
|
||||||
g_free (stream->codec);
|
|
||||||
stream->codec =
|
|
||||||
g_strdup (gst_mpd_helper_get_video_codec_from_mime (caps));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DASH_SINK_STREAM_TYPE_AUDIO:
|
case DASH_SINK_STREAM_TYPE_AUDIO:
|
||||||
{
|
{
|
||||||
gst_structure_get_int (s, "channels", &stream->info.audio.channels);
|
gst_structure_get_int (s, "channels", &stream->info.audio.channels);
|
||||||
gst_structure_get_int (s, "rate", &stream->info.audio.rate);
|
gst_structure_get_int (s, "rate", &stream->info.audio.rate);
|
||||||
g_free (stream->codec);
|
|
||||||
stream->codec =
|
|
||||||
g_strdup (gst_mpd_helper_get_audio_codec_from_mime (caps));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DASH_SINK_STREAM_TYPE_SUBTITLE:
|
case DASH_SINK_STREAM_TYPE_SUBTITLE:
|
||||||
|
|
|
@ -78,61 +78,6 @@ gst_mpd_helper_get_SAP_type (xmlNode * a_node,
|
||||||
return exists;
|
return exists;
|
||||||
}
|
}
|
||||||
|
|
||||||
const gchar *
|
|
||||||
gst_mpd_helper_get_audio_codec_from_mime (GstCaps * caps)
|
|
||||||
{
|
|
||||||
GstStructure *s;
|
|
||||||
const gchar *name = "";
|
|
||||||
const gchar *codec_name = NULL;
|
|
||||||
|
|
||||||
if (!caps)
|
|
||||||
return NULL;
|
|
||||||
s = gst_caps_get_structure (caps, 0);
|
|
||||||
if (!s)
|
|
||||||
goto done;
|
|
||||||
name = gst_structure_get_name (s);
|
|
||||||
if (!g_strcmp0 (name, "audio/mpeg")) {
|
|
||||||
gint mpeg_version;
|
|
||||||
if (gst_structure_get_int (s, "mpegversion", &mpeg_version)) {
|
|
||||||
if (mpeg_version == 4)
|
|
||||||
return "mp4a";
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
GST_DEBUG ("No codecs for this caps name %s", name);
|
|
||||||
}
|
|
||||||
|
|
||||||
done:
|
|
||||||
return codec_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
const gchar *
|
|
||||||
gst_mpd_helper_get_video_codec_from_mime (GstCaps * caps)
|
|
||||||
{
|
|
||||||
GstStructure *s;
|
|
||||||
const gchar *name = "";
|
|
||||||
const gchar *codec_name = NULL;
|
|
||||||
|
|
||||||
if (!caps)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
s = gst_caps_get_structure (caps, 0);
|
|
||||||
if (!s)
|
|
||||||
goto done;
|
|
||||||
name = gst_structure_get_name (s);
|
|
||||||
if (!g_strcmp0 (name, "video/x-h264")) {
|
|
||||||
return "avc1";
|
|
||||||
} else if (!g_strcmp0 (name, "video/x-h265")) {
|
|
||||||
return "hvc1";
|
|
||||||
} else {
|
|
||||||
GST_DEBUG ("No codecs for this caps name %s", name);
|
|
||||||
}
|
|
||||||
|
|
||||||
done:
|
|
||||||
return codec_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const gchar *
|
const gchar *
|
||||||
gst_mpd_helper_mimetype_to_caps (const gchar * mimeType)
|
gst_mpd_helper_mimetype_to_caps (const gchar * mimeType)
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,8 +61,6 @@ gboolean gst_mpd_helper_get_mpd_type (xmlNode * a_node, const gchar * property_n
|
||||||
gboolean gst_mpd_helper_get_SAP_type (xmlNode * a_node, const gchar * property_name, GstMPDSAPType * property_value);
|
gboolean gst_mpd_helper_get_SAP_type (xmlNode * a_node, const gchar * property_name, GstMPDSAPType * property_value);
|
||||||
|
|
||||||
const gchar * gst_mpd_helper_mimetype_to_caps (const gchar * mimeType);
|
const gchar * gst_mpd_helper_mimetype_to_caps (const gchar * mimeType);
|
||||||
const gchar * gst_mpd_helper_get_video_codec_from_mime (GstCaps * caps);
|
|
||||||
const gchar * gst_mpd_helper_get_audio_codec_from_mime (GstCaps * caps);
|
|
||||||
GstUri *gst_mpd_helper_combine_urls (GstUri * base, GList * list, gchar ** query, guint idx);
|
GstUri *gst_mpd_helper_combine_urls (GstUri * base, GList * list, gchar ** query, guint idx);
|
||||||
int gst_mpd_helper_strncmp_ext (const char *s1, const char *s2);
|
int gst_mpd_helper_strncmp_ext (const char *s1, const char *s2);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue