- This is for Tizen 4.0.
: Tizen 4.0 Configurability and Build Blocks require
to remove all profile-depending build options in spec files.
(No More profile macros)
- It is recommended to distinguish features/profiles at runtime.
unless it incurs too much overhead, which requires you to
create multiple binaries and subpackages.
Change-Id: I24bf74bbdf7bbf55e687f404c078ee4ec19a5b11
Signed-off-by: hk57.kim <hk57.kim@samsung.com>
AC_SUBST(TZPLATFORM_CONFIG_CFLAGS)
AC_SUBST(TZPLATFORM_CONFIG_LIBS)
+PKG_CHECK_MODULES(CAPI_SYSTEM_INFO, capi-system-info)
+AC_SUBST(CAPI_SYSTEM_INFO_CFLAGS)
+AC_SUBST(CAPI_SYSTEM_INFO_LIBS)
+
# for testsuite
AC_ARG_ENABLE(sdk, AC_HELP_STRING([--enable-sdk], [sdk build]),
Name: libmm-wfd
Summary: Multimedia Framework Wifi-Display Library
-Version: 0.2.212
+Version: 0.2.213
Release: 0
Group: System/Libraries
License: Apache-2.0
BuildRequires: pkgconfig(ecore-wayland)
BuildRequires: pkgconfig(libtbm)
BuildRequires: pkgconfig(libtzplatform-config)
-
+BuildRequires: pkgconfig(capi-system-info)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-
%description
%package devel
Summary: Multimedia Framework Wifi-Display Library (DEV)
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-
%description devel
%package factory
Summary: Multimedia Framework Wifi-Display Library (Factory)
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-
%description factory
%prep
export CFLAGS+=" -DSYSCONFDIR=\\\"%{_sysconfdir}\\\""
./autogen.sh
-%if "%{?profile}" == "tv"
-CFLAGS+=" -DUSE_EXTERNAL_WL_DISPLAY_HANDLE"
-%endif
CFLAGS+=" -DMMFW_DEBUG_MODE -DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\" "; export CFLAGS
LDFLAGS+="-Wl,--rpath=%{_prefix}/lib -Wl,--hash-style=both -Wl,--as-needed"; export LDFLAGS
%install
rm -rf %{buildroot}
+
%make_install
mkdir -p %{buildroot}/%{TZ_SYS_RO_SHARE}/dbus-1/services/
mkdir -p %{buildroot}/%{_datadir}/license
%defattr(-,root,root,-)
%{_libdir}/*.so
%{_includedir}/mmf/mm_wfd_sink.h
+%{_includedir}/mmf/mm_wfd_sink_config.h
%{_includedir}/mmf/mm_wfd_sink_priv.h
%{_includedir}/mmf/mm_wfd_sink_dlog.h
%{_includedir}/mmf/mm_wfd_sink_util.h
includelibmmfwfdsink_HEADERS = include/mm_wfd_sink.h \
include/mm_wfd_sink_ini.h \
+ include/mm_wfd_sink_config.h \
include/mm_wfd_sink_priv.h \
include/mm_wfd_sink_dlog.h \
include/mm_wfd_sink_attrs.h \
mm_wfd_sink_util.c \
mm_wfd_sink.c \
mm_wfd_sink_manager.c \
+ mm_wfd_sink_config.c \
mm_wfd_sink_priv.c \
mm_wfd_sink_wayland.c
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(TZPLATFORM_CONFIG_CFLAGS) \
+ $(CAPI_SYSTEM_INFO_CFLAGS) \
$(AUDIOSESSIONMGR_CFLAGS)
libmmfwfdsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
$(MMCOMMON_LIBS) \
$(AUDIOSESSIONMGR_LIBS) \
$(TZPLATFORM_CONFIG_LIBS) \
+ $(CAPI_SYSTEM_INFO_LIBS) \
$(GST_VIDEO_LIBS)
libmmfwfdsink_la_CFLAGS += $(MMLOG_CFLAGS) -DMMF_LOG_OWNER=0x02000000 -DMMF_DEBUG_PREFIX=\"MMF-WFD-SINK\"
--- /dev/null
+/*
+ * libmm-wfd
+ *
+ * Copyright (c) 2011 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+typedef enum {
+ TIZEN_PROFILE_UNKNOWN = 0,
+ TIZEN_PROFILE_MOBILE = 0x1,
+ TIZEN_PROFILE_WEARABLE = 0x2,
+ TIZEN_PROFILE_TV = 0x4,
+ TIZEN_PROFILE_IVI = 0x8,
+ TIZEN_PROFILE_COMMON = 0x10,
+} tizen_profile_t;
+extern tizen_profile_t _get_tizen_profile();
+
+#define USE_EXTERNAL_WL_DISPLAY_HANDLE (_get_tizen_profile() & (TIZEN_PROFILE_TV))
+
--- /dev/null
+/*
+ * libmm-wfd
+ *
+ * Copyright (c) 2011 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#define _GNU_SOURCE
+#include <stdlib.h>
+#include <system_info.h>
+#include "mm_wfd_sink_config.h"
+
+
+tizen_profile_t _get_tizen_profile()
+{
+ static tizen_profile_t profile = TIZEN_PROFILE_UNKNOWN;
+ if (__builtin_expect(profile != TIZEN_PROFILE_UNKNOWN, 1))
+ return profile;
+
+ char *profileName;
+ system_info_get_platform_string("http://tizen.org/feature/profile", &profileName);
+ switch (*profileName) {
+ case 'm':
+ case 'M':
+ profile = TIZEN_PROFILE_MOBILE;
+ break;
+ case 'w':
+ case 'W':
+ profile = TIZEN_PROFILE_WEARABLE;
+ break;
+ case 't':
+ case 'T':
+ profile = TIZEN_PROFILE_TV;
+ break;
+ case 'i':
+ case 'I':
+ profile = TIZEN_PROFILE_IVI;
+ break;
+ default: // common or unknown ==> ALL ARE COMMON.
+ profile = TIZEN_PROFILE_COMMON;
+ }
+ free(profileName);
+
+ return profile;
+}
#include "mm_wfd_sink_dlog.h"
#include "mm_wfd_sink_enum.h"
#include "mm_wfd_sink_wayland.h"
+#include "mm_wfd_sink_config.h"
#define PRINT_WFD_REF_COUNT(wfd_sink)\
do {\
}
}
wfd_sink_debug("set video param : surface_id %d", wl_surface_id);
-#ifdef USE_EXTERNAL_WL_DISPLAY_HANDLE
- gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(video_sink),
+
+ if(USE_EXTERNAL_WL_DISPLAY_HANDLE) {
+ gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(video_sink),
wl_surface_id);
-#else
- gst_video_overlay_set_wl_window_wl_surface_id(GST_VIDEO_OVERLAY(video_sink),
+ }
+ else {
+ gst_video_overlay_set_wl_window_wl_surface_id(GST_VIDEO_OVERLAY(video_sink),
wl_surface_id);
-#endif
+ }
/* After setting window handle, set render rectangle */
gst_video_overlay_set_render_rectangle(GST_VIDEO_OVERLAY(video_sink),