summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuo Jinghua <sunmoon1997@gmail.com>2009-09-10 10:04:28 +0800
committerLuo Jinghua <sunmoon1997@gmail.com>2009-09-10 10:04:28 +0800
commit44d8ca758d7d96eb6a4832332af937ef9dabd1ad (patch)
tree54eced77a691bda13e5f1565cfefb68d36330af6
parentbbc9e562e79263b093706227e80c496a128bcf14 (diff)
ppssrc: try to open both locations that is pps:// && tvod://
-rw-r--r--src/gstppssrc.c17
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;