gst/playback/gstplaybasebin.c: Improve checking if we are dealing with a stream. Added some more uris that need buffe...

Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (is_stream), (gen_source_element):
Improve checking if we are dealing with a stream. Added some
more uris that need buffering.
This commit is contained in:
Wim Taymans 2006-07-04 14:06:03 +00:00
parent 2760f8c58e
commit 361979b83b
3 changed files with 24 additions and 6 deletions

View file

@ -1,3 +1,9 @@
2006-07-04 Wim Taymans <wim@fluendo.com>
* gst/playback/gstplaybasebin.c: (is_stream), (gen_source_element):
Improve checking if we are dealing with a stream. Added some
more uris that need buffering.
2006-07-03 Edward Hervey <edward@fluendo.com>
* ext/vorbis/vorbisdec.c: (vorbis_do_clip):

2
common

@ -1 +1 @@
Subproject commit a98b370bd49bc3f3225bbd9013cda5a53789f53d
Subproject commit dd173e2720ac21e4a47c97705d7ff32271a0ee66

View file

@ -1244,6 +1244,22 @@ setup_subtitle (GstPlayBaseBin * play_base_bin, gchar * sub_uri)
return subbin;
}
/* lame - FIXME, maybe we can use seek_types/mask here? */
static gboolean
is_stream (GstPlayBaseBin * play_base_bin, gchar * uri)
{
static const gchar *uris[] = { "http://", "mms://", "mmsh://",
"mmsu://", "mmst://", "rtp://", "rtsp://", NULL
};
gint i;
for (i = 0; uris[i]; i++) {
if (g_str_has_prefix (uri, uris[i]))
return TRUE;
}
return FALSE;
}
/*
* Generate a source element that does caching for network streams.
*/
@ -1276,11 +1292,7 @@ gen_source_element (GstPlayBaseBin * play_base_bin, GstElement ** subbin)
if (!source)
return NULL;
/* lame - FIXME, maybe we can use seek_types/mask here? */
play_base_bin->is_stream = !strncmp (play_base_bin->uri, "http://", 7) ||
!strncmp (play_base_bin->uri, "mms://", 6) ||
!strncmp (play_base_bin->uri, "rtp://", 6) ||
!strncmp (play_base_bin->uri, "rtsp://", 7);
play_base_bin->is_stream = is_stream (play_base_bin, play_base_bin->uri);
/* make HTTP sources send extra headers so we get icecast
* metadata in case the stream is an icecast stream */