{
int r;
- if (g_tv_info.live_svc) {
- r = tv_service_live_destroy(g_tv_info.live_svc);
- if (r != TVS_ERROR_OK)
- _ERR("failed to destroy live service");
+ if (g_tv_info.live_svc)
g_tv_info.live_svc = NULL;
- }
r = tv_service_channel_info_destroy();
if (r < 0)
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();