diff options
| author | Sean Davis <smd.seandavis@gmail.com> | 2017-02-25 13:12:38 -0500 |
|---|---|---|
| committer | Sean Davis <smd.seandavis@gmail.com> | 2017-02-25 13:12:38 -0500 |
| commit | 1a952fe9b632969f5ecbdc4f783ae285959c435c (patch) | |
| tree | 69376d5fe8e855d49d900ad0ad43db27f1687908 | |
| parent | de6b59e06b158da8317db3c6260e54a88174f556 (diff) | |
| download | parole-1a952fe9b632969f5ecbdc4f783ae285959c435c.tar.gz | |
Get GST tags from streams
| -rw-r--r-- | src/gst/parole-gst.c | 19 | ||||
| -rw-r--r-- | src/misc/parole-stream.c | 2 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/gst/parole-gst.c b/src/gst/parole-gst.c index ff3944a..6bcfe75 100644 --- a/src/gst/parole-gst.c +++ b/src/gst/parole-gst.c @@ -1033,6 +1033,10 @@ parole_gst_tag_list_get_cover_external (ParoleGst *gst) NULL); filename = g_filename_from_uri(uri, NULL, NULL); + if (!filename) + { + return NULL; + } directory = g_path_get_dirname(filename); @@ -1291,7 +1295,7 @@ parole_gst_get_meta_data_cdda (ParoleGst *gst, GstTagList *tag) } static void -parole_gst_get_meta_data_local_file (ParoleGst *gst, GstTagList *tag) +parole_gst_get_meta_data_file (ParoleGst *gst, GstTagList *tag) { gchar *str; GDate *date; @@ -1359,9 +1363,12 @@ parole_gst_get_meta_data_local_file (ParoleGst *gst, GstTagList *tag) if ( gst_tag_list_get_uint (tag, GST_TAG_TRACK_NUMBER, &integer) ) { TRACE ("track:%i", integer); - g_object_set (G_OBJECT (gst->priv->stream), - "track", integer, - NULL); + if (integer < 100) + { + g_object_set (G_OBJECT (gst->priv->stream), + "track", integer, + NULL); + } } if ( gst_tag_list_get_uint (tag, GST_TAG_BITRATE, &integer) ) @@ -1419,7 +1426,8 @@ parole_gst_get_meta_data (ParoleGst *gst, GstTagList *tag) switch ( media_type ) { case PAROLE_MEDIA_TYPE_LOCAL_FILE: - parole_gst_get_meta_data_local_file (gst, tag); + case PAROLE_MEDIA_TYPE_REMOTE: + parole_gst_get_meta_data_file (gst, tag); break; case PAROLE_MEDIA_TYPE_CDDA: parole_gst_get_meta_data_cdda (gst, tag); @@ -1427,7 +1435,6 @@ parole_gst_get_meta_data (ParoleGst *gst, GstTagList *tag) case PAROLE_MEDIA_TYPE_DVD: parole_gst_get_meta_data_dvd (gst); break; - case PAROLE_MEDIA_TYPE_REMOTE: case PAROLE_MEDIA_TYPE_UNKNOWN: parole_gst_get_meta_data_unknown (gst); break; diff --git a/src/misc/parole-stream.c b/src/misc/parole-stream.c index 8516e19..208fafd 100644 --- a/src/misc/parole-stream.c +++ b/src/misc/parole-stream.c @@ -119,6 +119,8 @@ parole_stream_get_media_type_from_uri (ParoleStream *stream, const gchar *uri) if ( g_str_has_prefix (uri, "file:/") ) type = PAROLE_MEDIA_TYPE_LOCAL_FILE; + else if ( g_str_has_prefix (uri, "http:/") || g_str_has_prefix (uri, "https:/") ) + type = PAROLE_MEDIA_TYPE_REMOTE; else if ( g_str_has_prefix (uri, "dvd:/") ) type = PAROLE_MEDIA_TYPE_DVD; else if ( g_str_has_prefix (uri, "vcd:") ) |