return channel_list;
}
+/**
+ * Gets a favorite channel list.
+ *
+ * @return Favorite channel list, or NULL if fails
+ */
+Eina_List *tv_channel_get_favorite_list()
+{
+ GList *tvs_list = NULL;
+ Eina_List *channel_list = NULL;
+ TvServiceChannel *tvs_data = NULL;
+ const struct tv_channel_info *channel_info;
+ int r, i;
+
+ r = tv_service_get_channel_list(
+ TV_SERVICE_CHANNEL_MODE_FAVORITE,
+ TV_SERVICE_ANTENNA_TYPE_ALL, &tvs_list);
+ if (r != TVS_ERROR_OK) {
+ _ERR("failed to get channel list");
+ return NULL;
+ }
+
+ for (i = 0; i < g_list_length(tvs_list); i++) {
+ tvs_data = (TvServiceChannel *) g_list_nth_data(tvs_list, i);
+ if (tvs_data) {
+ channel_info = _tv_channel_get_info(tvs_data);
+ if (channel_info)
+ channel_list = eina_list_append(channel_list,
+ channel_info);
+ free(tvs_data);
+ }
+ }
+
+ return channel_list;
+}
+
TvServiceFilterNode *_tv_channel_get_filter(
TvServiceChannelDataAttr attribute, int type, void *data)
{
}
/**
- * Sets window id for tv overlay.
- *
- * @param window_id The window id to overlay
- * @return If the operation was sucessful 0 is returned; otherwise negative value is returned
- */
-int tv_overlay_set(void *window_id)
-{
- int r;
-
- if (!g_tv_info.live_svc) {
- _ERR("failed to get live service");
- return -1;
- }
-
- r = tv_service_live_set_window_overlay(g_tv_info.live_svc, window_id);
- if (r < 0) {
- _ERR("failed to set overlay");
- return -1;
- }
-
- return 0;
-}
-
-/**
* Destory the tv service handles.
*
* @return If the operation was sucessful 0 is returned; otherwise negative value is returned
int r;
if (g_tv_info.live_svc) {
- r = tv_service_live_destroy(g_tv_info.live_svc);
+ r = tv_service_live_tune_pause(g_tv_info.live_svc);
if (r != TVS_ERROR_OK)
- _ERR("failed to destroy live service");
- g_tv_info.live_svc = NULL;
+ _ERR("failed to pause live service");
}
return 0;
{
int r;
- if (g_tv_info.live_svc)
- return 0;
+ if (!g_tv_info.live_svc) {
+ r = tv_service_live_create(&g_tv_info.live_svc);
+ if (r != TVS_ERROR_OK) {
+ _ERR("failed to create live service");
+ goto err;
+ } else {
+ return 1;
+ }
+ }
- r = tv_service_live_create(&g_tv_info.live_svc);
+ r = tv_service_live_tune_resume(g_tv_info.live_svc);
if (r != TVS_ERROR_OK) {
_ERR("failed to create live service");
goto err;
goto err;
}
- return 1;
+ return 0;
err:
tv_destroy();