BuildRequires: pkgconfig(capi-media-player)
BuildRequires: pkgconfig(capi-screensaver)
BuildRequires: pkgconfig(settings-api)
-BuildRequires: pkgconfig(tvs-api)
%else
BuildRequires: pkgconfig(capi-appfw-watch-application)
BuildRequires: pkgconfig(capi-ui-inputmethod)
tizen_pkg_config("sqlite3") {
packages = [ "sqlite3" ]
}
- tizen_pkg_config("tvs-api") {
- packages = [ "tvs-api" ]
- }
tizen_pkg_config("ui-gadget-1") {
packages = [ "ui-gadget-1" ]
}
"//tizen_src/build:libcapi-system-sensor",
"//tizen_src/build:message-port",
"//tizen_src/build:sqlite3",
- "//tizen_src/build:tvs-api",
"//tizen_src/build:ui-gadget-1",
"//tizen_src/build:vd-win-util",
]
#include <Ecore_Wl2.h>
#include <Elementary.h>
-#include <TVServiceAPI.h>
#include <tizen-extension-client-protocol.h>
#include "base/logging.h"
#include "wrt/src/browser/tv/input_device_manager.h"
#include "wrt/src/browser/wrt_native_window.h"
#include "wrt/src/common/application_data.h"
-#include "wrt/src/common/tv/wrt_lib_wrapper.h"
#if defined(TIZEN_VIDEO_HOLE)
#include "tizen_src/chromium_impl/media/base/tizen/video_plane_controller.h"
elm_window_ = nullptr;
}
if (av_control_) {
- TVServiceAPI::DestroyAVControl();
+ TVSM_IAVControl_Destroy(av_control_);
av_control_ = nullptr;
}
LOG(INFO) << "tv-control created";
}
if (!av_control_) {
- TVServiceAPI::CreateAVControl(PROFILE_TYPE_MAIN, 0, &av_control_);
+ av_control_ =
+ TVSM_IAVControl_Create(TVSM_SPipeline{TVSM_PROFILE_TYPE_MAIN, 0});
if (!av_control_)
LOG(ERROR) << "failed to create av-control";
else
return;
LOG(INFO) << "set mute : " << mute;
- av_control_->MuteAudio(mute);
- av_control_->MuteVideo(mute);
+ int res = TVSM_IAVControl_MuteAudio(av_control_, TVSM_MUTE_MODE_NORMAL, mute);
+ LOG(INFO) << "TVSM_IAVControl_MuteAudio res : " << res;
+ res = TVSM_IAVControl_MuteVideo(av_control_, TVSM_MUTE_MODE_NORMAL, mute);
+ LOG(INFO) << "TVSM_IAVControl_MuteVideo res : " << res;
}
void TvWindowManager::ResetTVControlObj() {
#include <vconf/vconf.h>
#include "electron/shell/browser/native_window_observer.h"
+#include "wrt/src/common/tv/wrt_lib_wrapper.h"
class IAVControl;
bool is_ticker_applciation = false;
bool is_skip_set_tv_property = false;
std::unique_ptr<HostUG> host_ug_;
- IAVControl* av_control_ = nullptr;
+ TVSM_IAVControl av_control_ = nullptr;
};
} // namespace wrt
const char* kLibTvControl = LIB_PATH "/libtv-control.so.0";
const char* kLibDeviced = LIB_PATH "/libdeviced.so.1";
const char* kLibAulExtension = LIB_PATH "/libaul-extension.so.0";
+const char* kLibTvsApi = LIB_PATH "/libtvs-api.so";
const char* kZoneLibPath = LIB_PATH "/libzone.so.5";
const char* kAutoInput = LIB_PATH "/libautoinput.so.0";
return func(dx, dy, move_count);
}
+TVSM_IAVControl TVSM_IAVControl_Create(TVSM_SPipeline pipeline) {
+ typedef TVSM_IAVControl (*func_sig)(TVSM_SPipeline);
+ auto* func = (func_sig)GetFunction(kLibTvsApi, __FUNCTION__);
+ if (func)
+ return func(pipeline);
+ else
+ return nullptr;
+}
+
+TVSM_EError TVSM_IAVControl_Destroy(TVSM_IAVControl iAVControl) {
+ typedef TVSM_EError (*func_sig)(TVSM_IAVControl);
+ auto* func = (func_sig)GetFunction(kLibTvsApi, __FUNCTION__);
+ if (func)
+ return func(iAVControl);
+ else
+ return TVSM_ERROR_NONE;
+}
+
+TVSM_EError TVSM_IAVControl_MuteVideo(TVSM_IAVControl iAVControl,
+ TVSM_EMuteMode muteMode,
+ bool turnOnOff) {
+ typedef TVSM_EError (*func_sig)(TVSM_IAVControl, TVSM_EMuteMode, bool);
+ auto* func = (func_sig)GetFunction(kLibTvsApi, __FUNCTION__);
+ if (func)
+ return func(iAVControl, muteMode, turnOnOff);
+ else
+ return TVSM_ERROR_NONE;
+}
+
+TVSM_EError TVSM_IAVControl_MuteAudio(TVSM_IAVControl iAVControl,
+ TVSM_EMuteMode muteMode,
+ bool turnOnOff) {
+ typedef TVSM_EError (*func_sig)(TVSM_IAVControl, TVSM_EMuteMode, bool);
+ auto* func = (func_sig)GetFunction(kLibTvsApi, __FUNCTION__);
+ if (func)
+ return func(iAVControl, muteMode, turnOnOff);
+ else
+ return TVSM_ERROR_NONE;
+}
+
} // namespace wrt
#include <Elementary.h>
#include <bundle.h>
+#include <tizen_error.h>
namespace wrt {
void VirtualMouse_Send_Button_Event(int button, int state);
void VirtualMouse_Send_Move(int dx, int dy, int move_count);
+// IAVControl
+
+typedef enum {
+ TVSM_PROFILE_TYPE_UNKNOWN = 0,
+ TVSM_PROFILE_TYPE_MAIN = 1,
+ TVSM_PROFILE_TYPE_MAIN_TEST = 2, // for test purpose only
+ TVSM_PROFILE_TYPE_PIP = 101,
+ TVSM_PROFILE_TYPE_DUAL = 201,
+ TVSM_PROFILE_TYPE_RECORD = 301,
+ TVSM_PROFILE_TYPE_ANALYSIS = 401,
+ TVSM_PROFILE_TYPE_MEDIA = 601, // used for feeding SI sections into TVS
+ TVSM_PROFILE_TYPE_BACKGROUND = 701,
+ TVSM_PROFILE_TYPE_BACKGROUND_SCAN = 702, // used by Tune Around, Barker Channel tuning
+ TVSM_PROFILE_TYPE_THUMBNAIL = 801,
+ TVSM_PROFILE_TYPE_EXT_ANALYSIS = 901,
+} TVSM_EProfileType;
+
+typedef enum {
+ // Generic errors mapped to platform errors
+ TVSM_ERROR_NONE = TIZEN_ERROR_NONE,
+ TVSM_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,
+ TVSM_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,
+ TVSM_ERROR_NO_DATA = TIZEN_ERROR_NO_DATA,
+ TVSM_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED,
+ TVSM_ERROR_NOT_PERMITTED = TIZEN_ERROR_NOT_PERMITTED,
+
+ // TVS-specific errors: values bitwise OR-ed with TIZEN_ERROR_TVS error class
+ TVSM_ERROR_API_FAILED = TIZEN_ERROR_TVS | 0x00,
+ TVSM_ERROR_IPC_FAILED = TIZEN_ERROR_TVS | 0x01,
+} TVSM_EError;
+
+typedef enum {
+ TVSM_MUTE_MODE_NORMAL = 0, // default lock to use by app
+ TVSM_MUTE_MODE_MASTER = 1, // highest priority lock, reserved only for CI (common interface) modules, cannot be unlocked by NORMAL unmute @warning improper usage causes assertion to fail.
+ TVSM_MUTE_MODE_CHANNELLOCK = 2, // lock related to user 'channel lock' functionality
+ TVSM_MUTE_MODE_PLAYBACK_LOADING = 3, // Mute screen before Playback is ready
+ TVSM_MUTE_MODE_TVS_INTERNAL = 4, // content muted by TVS @note trying to mute video or audio with this mode will fail, it is just informative
+} TVSM_EMuteMode;
+
+typedef void* TVSM_IAVControl;
+typedef struct _TVSM_SPipeline {
+ /// Pipeline's profile
+ TVSM_EProfileType profileType;
+ /// Pipeline's screen identifier
+ unsigned short screenId;
+} TVSM_SPipeline;
+
+TVSM_IAVControl TVSM_IAVControl_Create(TVSM_SPipeline pipeline);
+TVSM_EError TVSM_IAVControl_Destroy(TVSM_IAVControl iAVControl);
+TVSM_EError TVSM_IAVControl_MuteVideo(TVSM_IAVControl iAVControl,
+ TVSM_EMuteMode muteMode,
+ bool turnOnOff);
+TVSM_EError TVSM_IAVControl_MuteAudio(TVSM_IAVControl iAVControl,
+ TVSM_EMuteMode muteMode,
+ bool turnOnOff);
+
} // namespace wrt
#endif // COMMON_TV_WRT_LIB_WRAPPER_H_