Skip to content
Open

Test #88

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
befc47b
RDKEMW-1017: MiracastService COMRPC Support
yuvaramachandran-gurusamy Jun 11, 2025
4ba4e51
RDKEMW-1017: MiracastService CMake change
yuvaramachandran-gurusamy Jun 11, 2025
52042fa
RDKEMW-1018: MiracastPlayer COMRPC Support
yuvaramachandran-gurusamy Jun 12, 2025
567cc4c
RDKEMW-1017 RDKEMW-1018: Changes as per Miracast interface files
yuvaramachandran-gurusamy Jun 15, 2025
b3732c6
RDKEMW-1017 RDKEMW-1018: Fix build issue
yuvaramachandran-gurusamy Jun 16, 2025
2b9c5e5
Merge branch 'develop' of github.com:rdkcentral/entservices-casting i…
yuvaramachandran-gurusamy Jun 16, 2025
61215a4
RDKEMW-1018: Fix the random crash issue and logging update
yuvaramachandran-gurusamy Jun 19, 2025
70d5f08
RDKEMW-1017 RDKEMW-1018: Updated Miracast API prototype
yuvaramachandran-gurusamy Jun 19, 2025
1cd20a0
RDKEMW-1018: Fix the SetWesterosEnvironment issue and logging update
yuvaramachandran-gurusamy Jun 20, 2025
cbd10e9
RDKEMW-1018: Update MiracastPlayer.h with indentation
yuvaramachandran-gurusamy Jun 20, 2025
4cfedf2
RDKEMW-1018: Modified MiracastRTSPMsg variables order to fix SIGBUS i…
yuvaramachandran-gurusamy Jun 23, 2025
c6415b9
RDKEMW-1017 RDKEMW-1018: Removed the SetLogging and added SetEnvArugm…
yuvaramachandran-gurusamy Jun 27, 2025
2eef64a
RDKEMW-1017 RDKEMW-1018: Updated as per review comments
yuvaramachandran-gurusamy Jun 29, 2025
67b9b8c
RDKEMW-1017 RDKEMW-1018: Disable l1 test for Miracast
yuvaramachandran-gurusamy Jun 30, 2025
163b6c5
RDKEMW-1017 RDKEMW-1018: entservices-apis should cloned from develop
yuvaramachandran-gurusamy Jun 30, 2025
3df1491
RDKEMW-1017 RDKEMW-1018: Fix L1 test failures
yuvaramachandran-gurusamy Jul 1, 2025
c1874c1
RDKEMW-1017 RDKEMW-1018: Enable L1 test for Miracast plugins
yuvaramachandran-gurusamy Jul 1, 2025
c9c3a75
RDKEMW-1017 RDKEMW-1018: Updated the L1 unittest coverage
yuvaramachandran-gurusamy Jul 2, 2025
334f80e
Update MiracastServiceImplementation.cpp
yuvaramachandran-gurusamy Jul 4, 2025
47b7b12
Update MiracastServiceImplementation.h
yuvaramachandran-gurusamy Jul 4, 2025
86715e9
Update MiracastServiceImplementation.cpp
yuvaramachandran-gurusamy Jul 4, 2025
1202d4c
Update MiracastServiceImplementation.h
yuvaramachandran-gurusamy Jul 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Miracast/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@
# limitations under the License.

add_subdirectory(MiracastService)
add_subdirectory(MiracastPlayer)
add_subdirectory(MiracastPlayer)
108 changes: 70 additions & 38 deletions Miracast/MiracastPlayer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,71 +17,103 @@

set(PLUGIN_NAME MiracastPlayer)
set(MODULE_NAME ${NAMESPACE}${PLUGIN_NAME})
set(PLUGIN_IMPLEMENTATION ${MODULE_NAME}Implementation)

set(PLUGIN_MIRACAST_STARTUPORDER "" CACHE STRING "To configure startup order of MiracastPlayer plugin")
set(PLUGIN_MIRACASTPLAYER_STARTUPORDER "" CACHE STRING "To configure startup order of MiracastPlayer plugin")
set(PLUGIN_MIRACASTPLAYER_AUTOSTART "false" CACHE STRING "Automatically start MiracastPlayer plugin")

add_definitions(-DMIRACAST_PLAYER_API_VERSION_NUMBER_MAJOR=2)
add_definitions(-DMIRACAST_PLAYER_API_VERSION_NUMBER_MINOR=0)
add_definitions(-DMIRACAST_PLAYER_API_VERSION_NUMBER_PATCH=0)

set(MIRACAST_PLAYER_IMPLEMENTATION ${PLUGIN_NAME}Implementation)
add_definitions(-DPLUGIN_MIRACAST_PLAYER_IMPLEMENTATION_NAME="${MIRACAST_PLAYER_IMPLEMENTATION}")

find_package(${NAMESPACE}Plugins REQUIRED)
find_package(IARMBus)
find_package(GLIB REQUIRED)

find_package(WPEFrameworkSecurityUtil)
if(NOT WPEFRAMEWORK_SECURITYUTIL_FOUND)
add_definitions(-DSECURITY_TOKEN_ENABLED=0)
endif()

find_package(${NAMESPACE}Plugins REQUIRED)
find_package(${NAMESPACE}Definitions REQUIRED)
find_package(CompileSettingsDebug CONFIG REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GSTREAMERBASE REQUIRED gstreamer-app-1.0)

find_package(GStreamer REQUIRED)

find_library(GLIB_LIBRARY NAMES glib-2.0)
find_library(GLIB_LIBRARY NAMES glib-2.0 )

if (USE_THUNDER_R4)
find_package(${NAMESPACE}COM REQUIRED)
else ()
find_package(${NAMESPACE}Protocols REQUIRED)
endif (USE_THUNDER_R4)

add_library(${MODULE_NAME} SHARED Module.cpp MiracastPlayer.cpp ../common/MiracastLogger.cpp ../common/MiracastCommon.cpp RTSP/MiracastRTSPMsg.cpp)
add_library(${MODULE_NAME} SHARED MiracastPlayer.cpp Module.cpp)

set_target_properties(${MODULE_NAME} PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED YES)

target_compile_definitions(${MODULE_NAME} PRIVATE MODULE_NAME=Plugin_${PLUGIN_NAME})

include_directories(../../helpers)

target_link_libraries(${MODULE_NAME} PRIVATE CompileSettingsDebug::CompileSettingsDebug ${NAMESPACE}Plugins::${NAMESPACE}Plugins ${NAMESPACE}Definitions::${NAMESPACE}Definitions)

install(TARGETS ${MODULE_NAME}
DESTINATION lib/${STORAGE_DIRECTORY}/plugins)

add_library(${PLUGIN_IMPLEMENTATION} SHARED Module.cpp MiracastPlayerImplementation.cpp ../common/MiracastLogger.cpp ../common/MiracastCommon.cpp RTSP/MiracastRTSPMsg.cpp)

target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE ${NAMESPACE}Plugins::${NAMESPACE}Plugins)

set_target_properties(${PLUGIN_IMPLEMENTATION} PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED YES)
set_source_files_properties(MiracastPlayer.cpp PROPERTIES COMPILE_FLAGS "-fexceptions")

if (USE_THUNDER_R4)
target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE ${NAMESPACE}COM::${NAMESPACE}COM)
else ()
target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE ${NAMESPACE}Protocols::${NAMESPACE}Protocols)
endif (USE_THUNDER_R4)

if (RDK_SERVICES_L1_TEST)
target_sources(${MODULE_NAME}
target_sources(${PLUGIN_IMPLEMENTATION}
PRIVATE
Test/MiracastGstPlayer.cpp
)
else()
target_sources(${MODULE_NAME}
target_sources(${PLUGIN_IMPLEMENTATION}
PRIVATE
Generic/MiracastGstPlayer.cpp
)
endif()

set_target_properties(${MODULE_NAME} PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED YES)
set_source_files_properties(MiracastPlayer.cpp PROPERTIES COMPILE_FLAGS "-fexceptions")

target_include_directories(${MODULE_NAME} PRIVATE ./)
target_include_directories(${MODULE_NAME} PRIVATE ../common)
target_include_directories(${MODULE_NAME} PRIVATE RTSP)
target_include_directories(${MODULE_NAME} PRIVATE ../../helpers)
target_include_directories(${MODULE_NAME} PRIVATE ${IARMBUS_INCLUDE_DIRS})
target_include_directories(${MODULE_NAME} PRIVATE ${GLIB_INCLUDE_DIRS})
target_include_directories(${MODULE_NAME} PRIVATE ${GSTREAMER_INCLUDES})
target_include_directories(${MODULE_NAME} PRIVATE ${GSTREAMERBASE_INCLUDE_DIRS})

#target_compile_options(${MODULE_NAME} PRIVATE -Wno-error -fpermissive -Os -pipe -g -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed)
#target_compile_options(${MODULE_NAME} PRIVATE -DENABLE_MIRACAST_PLAYER_TEST_NOTIFIER)

target_link_libraries(${MODULE_NAME} PRIVATE ${NAMESPACE}Plugins::${NAMESPACE}Plugins)
target_link_libraries(${MODULE_NAME} PRIVATE ${GLIB_LIBRARIES})
target_link_libraries(${MODULE_NAME} PRIVATE ${GSTREAMER_LIBRARIES})
target_link_libraries(${MODULE_NAME} PRIVATE ${GSTREAMERBASE_LIBRARIES})
target_link_libraries(${MODULE_NAME} PRIVATE -lpthread)
target_include_directories(${PLUGIN_IMPLEMENTATION} PRIVATE ./)
target_include_directories(${PLUGIN_IMPLEMENTATION} PRIVATE ../common)
target_include_directories(${PLUGIN_IMPLEMENTATION} PRIVATE RTSP)
target_include_directories(${PLUGIN_IMPLEMENTATION} PRIVATE ../../helpers)
target_include_directories(${PLUGIN_IMPLEMENTATION} PRIVATE ${IARMBUS_INCLUDE_DIRS})
target_include_directories(${PLUGIN_IMPLEMENTATION} PRIVATE ${GLIB_INCLUDE_DIRS})
target_include_directories(${PLUGIN_IMPLEMENTATION} PRIVATE ${GSTREAMER_INCLUDES})
target_include_directories(${PLUGIN_IMPLEMENTATION} PRIVATE ${GSTREAMERBASE_INCLUDE_DIRS})

target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE ${NAMESPACE}Plugins::${NAMESPACE}Plugins)
target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE ${GLIB_LIBRARIES})
target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE ${GSTREAMER_LIBRARIES})
target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE ${GSTREAMERBASE_LIBRARIES})
target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE -lpthread)

if(WPEFRAMEWORK_SECURITYUTIL_FOUND)
target_link_libraries(${MODULE_NAME} PRIVATE ${NAMESPACE}SecurityUtil)
target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE ${NAMESPACE}SecurityUtil)
endif()

if(NOT RDK_SERVICES_L1_TEST AND NOT RDK_SERVICE_L2_TEST)
target_link_libraries(${MODULE_NAME} PRIVATE MiracastPlayerHal)
target_link_libraries(${PLUGIN_IMPLEMENTATION} PRIVATE MiracastPlayerHal)
endif()

install(TARGETS ${MODULE_NAME}
DESTINATION lib/${STORAGE_DIRECTORY}/plugins)
install(TARGETS ${PLUGIN_IMPLEMENTATION}
DESTINATION lib/${STORAGE_DIRECTORY}/plugins)

write_config(${PLUGIN_NAME})
write_config(${PLUGIN_NAME})
11 changes: 8 additions & 3 deletions Miracast/MiracastPlayer/Generic/MiracastGstPlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ void MiracastGstPlayer::onFirstVideoFrameCallback(GstElement* object, guint arg0
MIRACASTLOG_TRACE("Exiting..!!!");
}

void MiracastGstPlayer::notifyPlaybackState(eMIRA_GSTPLAYER_STATES gst_player_state, eM_PLAYER_REASON_CODE state_reason_code )
void MiracastGstPlayer::notifyPlaybackState(eMIRA_GSTPLAYER_STATES gst_player_state, MiracastPlayerReasonCode state_reason_code )
{
MIRACASTLOG_TRACE("Entering..!!!");
if ( nullptr != m_rtsp_reference_instance )
Expand Down Expand Up @@ -490,7 +490,7 @@ gboolean MiracastGstPlayer::appendPipelineBusMessage(GstBus * bus, GstMessage *
g_free(info);
GST_DEBUG_BIN_TO_DOT_FILE((GstBin *)self->m_append_pipeline, GST_DEBUG_GRAPH_SHOW_ALL, "miracast_udpsrc2appsink_error");
gst_element_set_state(self->m_append_pipeline, GST_STATE_READY);
self->notifyPlaybackState(MIRACAST_GSTPLAYER_STATE_STOPPED,MIRACAST_PLAYER_REASON_CODE_GST_ERROR);
self->notifyPlaybackState(MIRACAST_GSTPLAYER_STATE_STOPPED,WPEFramework::Exchange::IMiracastPlayer::REASON_CODE_GST_ERROR);
}
break;
case GST_MESSAGE_STATE_CHANGED:
Expand Down Expand Up @@ -551,7 +551,7 @@ gboolean MiracastGstPlayer::playbinPipelineBusMessage (GstBus * bus, GstMessage
g_free(info);
}
GST_DEBUG_BIN_TO_DOT_FILE((GstBin *)self->m_playbin_pipeline, GST_DEBUG_GRAPH_SHOW_ALL, "miracast_playbin2appSrc_error");
self->notifyPlaybackState(MIRACAST_GSTPLAYER_STATE_STOPPED,MIRACAST_PLAYER_REASON_CODE_GST_ERROR);
self->notifyPlaybackState(MIRACAST_GSTPLAYER_STATE_STOPPED,WPEFramework::Exchange::IMiracastPlayer::REASON_CODE_GST_ERROR);
}
break;
case GST_MESSAGE_STATE_CHANGED:
Expand Down Expand Up @@ -1042,4 +1042,9 @@ bool MiracastGstPlayer::stop()
}
MIRACASTLOG_TRACE("Exiting..");
return true;
}

void MiracastGstPlayer::update_rtsp_capability_completion_status(bool state)
{
/*NOP*/
}
3 changes: 2 additions & 1 deletion Miracast/MiracastPlayer/MiracastGstPlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ class MiracastGstPlayer
double getCurrentPosition(GstElement *pipeline = nullptr);
bool get_player_statistics();
void print_pipeline_state(GstElement *pipeline = nullptr);
void update_rtsp_capability_completion_status(bool state);

private:
GstElement *m_append_pipeline{nullptr};
Expand Down Expand Up @@ -108,7 +109,7 @@ class MiracastGstPlayer
bool createPipeline();
bool updateVideoSinkRectangle(void);
static void onFirstVideoFrameCallback(GstElement* object, guint arg0, gpointer arg1,gpointer userdata);
void notifyPlaybackState(eMIRA_GSTPLAYER_STATES gst_player_state, eM_PLAYER_REASON_CODE state_reason_code = MIRACAST_PLAYER_REASON_CODE_SUCCESS );
void notifyPlaybackState(eMIRA_GSTPLAYER_STATES gst_player_state, MiracastPlayerReasonCode state_reason_code = WPEFramework::Exchange::IMiracastPlayer::REASON_CODE_SUCCESS );
bool changePipelineState(GstElement* pipeline, GstState state) const;

static void *playbackThread(void *ctx);
Expand Down
10 changes: 9 additions & 1 deletion Miracast/MiracastPlayer/MiracastPlayer.conf.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
precondition = ["Platform"]
callsign = "org.rdk.MiracastPlayer"
autostart = "false"
autostart = "@PLUGIN_MIRACASTPLAYER_AUTOSTART@"
startuporder = "@PLUGIN_MIRACASTPLAYER_STARTUPORDER@"

configuration = JSON()
rootobject = JSON()

rootobject.add("mode", "@PLUGIN_MIRACASTPLAYER_MODE@")
rootobject.add("locator", "lib@PLUGIN_IMPLEMENTATION@.so")

configuration.add("root", rootobject)
11 changes: 10 additions & 1 deletion Miracast/MiracastPlayer/MiracastPlayer.config
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
set (autostart false)
set (autostart ${PLUGIN_MIRACASTPLAYER_AUTOSTART})
set (preconditions Platform)
set (callsign "org.rdk.MiracastPlayer")

if(PLUGIN_MIRACASTPLAYER_STARTUPORDER)
set (startuporder ${PLUGIN_MIRACASTPLAYER_STARTUPORDER})
endif()

map()
key(root)
map()
kv(mode ${PLUGIN_MIRACASTPLAYER_MODE})
kv(locator lib${PLUGIN_IMPLEMENTATION}.so)
end()
end()
ans(configuration)
Loading
Loading