diff options
author | Luo Jinghua <sunmoon1997@gmail.com> | 2009-09-10 10:04:28 +0800 |
---|---|---|
committer | Luo Jinghua <sunmoon1997@gmail.com> | 2009-09-10 10:04:28 +0800 |
commit | 44d8ca758d7d96eb6a4832332af937ef9dabd1ad (patch) | |
tree | 54eced77a691bda13e5f1565cfefb68d36330af6 | |
parent | bbc9e562e79263b093706227e80c496a128bcf14 (diff) |
ppssrc: try to open both locations that is pps:// && tvod://
-rw-r--r-- | src/gstppssrc.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/gstppssrc.c b/src/gstppssrc.c index 37c4fae..dcd5ed5 100644 --- a/src/gstppssrc.c +++ b/src/gstppssrc.c @@ -589,21 +589,24 @@ static gboolean gst_pps_src_open (GstPpsSrc *src) { int ret; - gchar *location = src->tvod_location ? src->tvod_location : src->location; - GST_DEBUG_OBJECT (src, "add item: (\"%s\")", location); - src->fd = ret = ppsvod_add_item (location, src->vip_flag); + GST_DEBUG_OBJECT (src, "add item: (\"%s\")", src->location); + src->fd = ret = ppsvod_add_item (src->location, src->vip_flag); if (ret < 0) { - GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, - (NULL), ("Couldn't open resource")); - return FALSE; + if (src->tvod_location) + src->fd = ret = ppsvod_add_item (src->tvod_location, src->vip_flag); + if (ret < 0) { + GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, + (NULL), ("Couldn't open the stream")); + return FALSE; + } } gst_pps_src_report_progress (src, 0); ret = ppsvod_play_item (src->fd, strlen (src->valid_code) ? src->valid_code : NULL); if (ret < 0) { GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, - (NULL), ("Couldn't play resource")); + (NULL), ("Couldn't play the stream")); ppsvod_remove_item (src->fd); src->fd = -1; return FALSE; |