mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
player: Add is_live flag to the GstPlayerMediaInfo
https://bugzilla.gnome.org/show_bug.cgi?id=763126
This commit is contained in:
parent
b53f682d75
commit
10a9b78d40
6 changed files with 25 additions and 4 deletions
|
@ -1858,6 +1858,7 @@ gst_player_media_info_get_duration
|
|||
gst_player_media_info_get_title
|
||||
gst_player_media_info_get_container_format
|
||||
gst_player_media_info_is_seekable
|
||||
gst_player_media_info_is_live
|
||||
gst_player_media_info_get_image_sample
|
||||
gst_player_media_info_get_tags
|
||||
gst_player_media_info_get_stream_list
|
||||
|
|
|
@ -96,7 +96,7 @@ struct _GstPlayerMediaInfo
|
|||
gchar *uri;
|
||||
gchar *title;
|
||||
gchar *container;
|
||||
gboolean seekable;
|
||||
gboolean seekable, is_live;
|
||||
GstTagList *tags;
|
||||
GstSample *image_sample;
|
||||
|
||||
|
|
|
@ -408,6 +408,7 @@ static void
|
|||
gst_player_media_info_init (GstPlayerMediaInfo * info)
|
||||
{
|
||||
info->duration = -1;
|
||||
info->is_live = FALSE;
|
||||
info->seekable = FALSE;
|
||||
}
|
||||
|
||||
|
@ -556,6 +557,7 @@ gst_player_media_info_copy (GstPlayerMediaInfo * ref)
|
|||
info = gst_player_media_info_new (ref->uri);
|
||||
info->duration = ref->duration;
|
||||
info->seekable = ref->seekable;
|
||||
info->is_live = ref->is_live;
|
||||
if (ref->tags)
|
||||
info->tags = gst_tag_list_ref (ref->tags);
|
||||
if (ref->title)
|
||||
|
@ -641,6 +643,20 @@ gst_player_media_info_is_seekable (const GstPlayerMediaInfo * info)
|
|||
return info->seekable;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_player_media_info_is_live:
|
||||
* @info: a #GstPlayerMediaInfo
|
||||
*
|
||||
* Returns: %TRUE if the media is live.
|
||||
*/
|
||||
gboolean
|
||||
gst_player_media_info_is_live (const GstPlayerMediaInfo * info)
|
||||
{
|
||||
g_return_val_if_fail (GST_IS_PLAYER_MEDIA_INFO (info), FALSE);
|
||||
|
||||
return info->is_live;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_player_media_info_get_stream_list:
|
||||
* @info: a #GstPlayerMediaInfo
|
||||
|
|
|
@ -169,6 +169,8 @@ const gchar* gst_player_media_info_get_uri
|
|||
(const GstPlayerMediaInfo *info);
|
||||
gboolean gst_player_media_info_is_seekable
|
||||
(const GstPlayerMediaInfo *info);
|
||||
gboolean gst_player_media_info_is_live
|
||||
(const GstPlayerMediaInfo *info);
|
||||
GstClockTime gst_player_media_info_get_duration
|
||||
(const GstPlayerMediaInfo *info);
|
||||
GList* gst_player_media_info_get_stream_list
|
||||
|
|
|
@ -2235,6 +2235,7 @@ gst_player_media_info_create (GstPlayer * self)
|
|||
media_info = gst_player_media_info_new (self->uri);
|
||||
media_info->duration = gst_player_get_duration (self);
|
||||
media_info->tags = self->global_tags;
|
||||
media_info->is_live = self->is_live;
|
||||
self->global_tags = NULL;
|
||||
|
||||
query = gst_query_new_seeking (GST_FORMAT_TIME);
|
||||
|
@ -2256,10 +2257,10 @@ gst_player_media_info_create (GstPlayer * self)
|
|||
media_info->image_sample = get_from_tags (self, media_info, get_cover_sample);
|
||||
|
||||
GST_DEBUG_OBJECT (self, "uri: %s title: %s duration: %" GST_TIME_FORMAT
|
||||
" seekable: %s container: %s image_sample %p",
|
||||
" seekable: %s live: %s container: %s image_sample %p",
|
||||
media_info->uri, media_info->title, GST_TIME_ARGS (media_info->duration),
|
||||
media_info->seekable ? "yes" : "no", media_info->container,
|
||||
media_info->image_sample);
|
||||
media_info->seekable ? "yes" : "no", media_info->is_live ? "yes" : "no",
|
||||
media_info->container, media_info->image_sample);
|
||||
|
||||
GST_DEBUG_OBJECT (self, "end");
|
||||
return media_info;
|
||||
|
|
|
@ -40,6 +40,7 @@ EXPORTS
|
|||
gst_player_media_info_get_title
|
||||
gst_player_media_info_get_type
|
||||
gst_player_media_info_get_uri
|
||||
gst_player_media_info_is_live
|
||||
gst_player_media_info_is_seekable
|
||||
gst_player_new
|
||||
gst_player_pause
|
||||
|
|
Loading…
Reference in a new issue