summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--include/MediaSourceBinFactory.h2
-rw-r--r--include/MediaTransporterGst.h1
-rw-r--r--include/MediaTransporterParam.h1
-rw-r--r--include/mtpr.h3
-rw-r--r--packaging/capi-media-transporter.spec3
-rw-r--r--src/MediaSourceBinBaseAudio.cpp6
-rw-r--r--src/MediaTransporterGst.cpp20
-rw-r--r--src/MediaTransporterReceiverRist.cpp2
-rw-r--r--src/MediaTransporterReceiverRtsp.cpp4
-rw-r--r--src/MediaTransporterReceiverSrt.cpp2
-rw-r--r--src/MediaTransporterSenderSrt.cpp2
-rw-r--r--test/mtpr_test.c1
13 files changed, 34 insertions, 17 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 194edca..6d3a7cf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,7 +12,7 @@ INCLUDE_DIRECTORIES(${INC_DIR})
SET(dependents "dlog glib-2.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-audio-1.0 \
iniparser mm-common capi-media-tool mm-display-interface \
- cynara-client libsmack capi-system-info bundle capi-media-sound-manager \
+ cynara-client libsmack capi-system-info capi-media-sound-manager \
gstreamer-rtsp-server-1.0 libpulse")
IF(NOT TIZEN_PROFILE_TV)
@@ -21,7 +21,7 @@ ELSE()
ADD_DEFINITIONS("-DTIZEN_TV")
ENDIF()
-SET(pc_dependents "capi-base-common capi-media-sound-manager capi-media-tool bundle")
+SET(pc_dependents "capi-base-common capi-media-sound-manager capi-media-tool")
INCLUDE(FindPkgConfig)
pkg_check_modules(${fw_name} REQUIRED ${dependents})
diff --git a/include/MediaSourceBinFactory.h b/include/MediaSourceBinFactory.h
index c78d881..32a8472 100644
--- a/include/MediaSourceBinFactory.h
+++ b/include/MediaSourceBinFactory.h
@@ -19,8 +19,6 @@
#ifdef __cplusplus
-#include <bundle.h>
-
#include "MediaSourceBinBase.h"
namespace tizen_media_transporter {
diff --git a/include/MediaTransporterGst.h b/include/MediaTransporterGst.h
index 005cafd..98a0933 100644
--- a/include/MediaTransporterGst.h
+++ b/include/MediaTransporterGst.h
@@ -90,6 +90,7 @@ void _clearElements(GstElements& elements);
void _removeElement(GstElements& elements, GstElement* removeElement);
GstElement*_createElement(std::string factory_name, std::string name ="");
void _connectAndAppendSignal(GList** signals, GObject* obj, const char* sig_name, GCallback cb, gpointer user_data);
+void _disconnectSignal(GList** signals, GObject* obj);
void _disconnectSignal(gpointer data);
bool _addNoTargetGhostpad(GstBin* bin, GstPad** new_pad, bool is_src);
bool _setGhostpadTarget(GstPad* ghost_pad, GstElement* target_element, bool is_src);
diff --git a/include/MediaTransporterParam.h b/include/MediaTransporterParam.h
index c300b69..2106257 100644
--- a/include/MediaTransporterParam.h
+++ b/include/MediaTransporterParam.h
@@ -20,7 +20,6 @@
#ifdef __cplusplus
#include <glib.h>
-#include <bundle.h>
namespace tizen_media_transporter {
namespace param {
diff --git a/include/mtpr.h b/include/mtpr.h
index da064c8..f08b1bf 100644
--- a/include/mtpr.h
+++ b/include/mtpr.h
@@ -18,7 +18,6 @@
#define __TIZEN_MEDIA_TRANSPORTER_H__
#include <tizen.h>
-#include <bundle.h>
#include <media_format.h>
#include <media_packet.h>
#include <sound_manager.h>
@@ -747,7 +746,6 @@ int mtpr_media_source_get_audio_format(mtpr_h mtpr, unsigned int source_id, mtpr
* @pre Set a encoding params before calling mtpr_add_media_source()
* @see mtpr_get_encoding_params()
* @see mtpr_add_media_source
- * @see #bundle
*/
int mtpr_set_encoding_bitrate(mtpr_h mtpr, unsigned int source_id, int bitrate);
@@ -770,7 +768,6 @@ int mtpr_set_encoding_bitrate(mtpr_h mtpr, unsigned int source_id, int bitrate);
* @pre Set a encoding params before calling mtpr_add_media_source()
* @see mtpr_get_encoding_params()
* @see mtpr_add_media_source
- * @see #bundle
*/
int mtpr_get_encoding_bitrate(mtpr_h mtpr, unsigned int source_id, int *bitrate);
diff --git a/packaging/capi-media-transporter.spec b/packaging/capi-media-transporter.spec
index 71e31e7..067c49a 100644
--- a/packaging/capi-media-transporter.spec
+++ b/packaging/capi-media-transporter.spec
@@ -1,6 +1,6 @@
Name: capi-media-transporter
Summary: A Media Transporter library in Tizen Native API
-Version: 1.0.12
+Version: 1.0.15
Release: 0
Group: Multimedia/API
License: Apache-2.0
@@ -20,7 +20,6 @@ BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(appcore-efl)
BuildRequires: pkgconfig(elementary)
BuildRequires: pkgconfig(iniparser)
-BuildRequires: pkgconfig(bundle)
BuildRequires: pkgconfig(mm-display-interface)
BuildRequires: pkgconfig(mm-common)
BuildRequires: pkgconfig(cynara-client)
diff --git a/src/MediaSourceBinBaseAudio.cpp b/src/MediaSourceBinBaseAudio.cpp
index cbb3963..59e0cfe 100644
--- a/src/MediaSourceBinBaseAudio.cpp
+++ b/src/MediaSourceBinBaseAudio.cpp
@@ -136,9 +136,6 @@ int MediaSourceBinBaseAudio::getSourceAudioChannels()
void MediaSourceBinBaseAudio::setSourceAudioFormat(mtprSourceAudioFormat format)
{
- if (format < MTPR_SOURCE_AUDIO_FORMAT_S16LE || format > MTPR_SOURCE_AUDIO_FORMAT_U32BE)
- throw MediaTransporterException(MTPR_ERROR_INVALID_PARAMETER, "invalid input format");
-
switch (format)
{
case MTPR_SOURCE_AUDIO_FORMAT_S16LE:
@@ -184,8 +181,7 @@ void MediaSourceBinBaseAudio::setSourceAudioFormat(mtprSourceAudioFormat format)
_audioInfo.format = "U32BE";
break;
default:
- _audioInfo.format = "";
- break;
+ throw MediaTransporterException(MTPR_ERROR_INVALID_PARAMETER, "invalid input format");
}
}
diff --git a/src/MediaTransporterGst.cpp b/src/MediaTransporterGst.cpp
index 0eed11e..9ec7137 100644
--- a/src/MediaTransporterGst.cpp
+++ b/src/MediaTransporterGst.cpp
@@ -69,6 +69,24 @@ void gst::_connectAndAppendSignal(GList** signals, GObject* obj, const char* sig
sig_name, sig_data->signal_id, GST_OBJECT_NAME(sig_data->obj));
}
+void gst::_disconnectSignal(GList** signals, GObject* obj)
+{
+ GList* tmp = *signals;
+
+ while (tmp) {
+ auto sig_data = static_cast<gst::mtprSignal*>(tmp->data);
+ RET_IF(!sig_data, "sig_data is NULL");
+
+ tmp = g_list_next(tmp);
+
+ if (sig_data->obj != obj)
+ continue;
+
+ *signals = g_list_remove(*signals, sig_data);
+ _disconnectSignal(sig_data);
+ }
+}
+
void gst::_disconnectSignal(gpointer data)
{
auto sig_data = static_cast<gst::mtprSignal*>(data);
@@ -851,4 +869,4 @@ void gst::_updateEncCaps(GstElement* element, const param::audioInfo& aInfo)
g_object_set(G_OBJECT(element), "caps", newCaps, NULL);
gst_caps_unref(newCaps);
-} \ No newline at end of file
+}
diff --git a/src/MediaTransporterReceiverRist.cpp b/src/MediaTransporterReceiverRist.cpp
index 073f7da..b062ceb 100644
--- a/src/MediaTransporterReceiverRist.cpp
+++ b/src/MediaTransporterReceiverRist.cpp
@@ -108,6 +108,8 @@ void MediaTransporterReceiverRist::buildPipeline()
} catch (const MediaTransporterException& e) {
LOG_ERROR("%s", e.what());
+ gst::_disconnectSignal(&_gst.signals, G_OBJECT(tsdemux));
+
gst::_destroyElementFromParent(src);
gst::_destroyElementFromParent(rtpmp2tdepay);
gst::_destroyElementFromParent(queue);
diff --git a/src/MediaTransporterReceiverRtsp.cpp b/src/MediaTransporterReceiverRtsp.cpp
index 1d6b059..aeb644d 100644
--- a/src/MediaTransporterReceiverRtsp.cpp
+++ b/src/MediaTransporterReceiverRtsp.cpp
@@ -94,6 +94,8 @@ void MediaTransporterReceiverRtsp::_srcPadAddedCallback(GstElement* src, GstPad
ERROR:
if (decodebin) {
+ gst::_disconnectSignal(&rtsp->_gst.signals, G_OBJECT(decodebin));
+
gst_element_set_state(decodebin, GST_STATE_NULL);
if (!gst_bin_remove(GST_BIN(rtsp->_gst.pipeline), decodebin))
gst_object_unref(decodebin);
@@ -191,6 +193,8 @@ void MediaTransporterReceiverRtsp::buildPipeline()
} catch (const MediaTransporterException& e) {
LOG_ERROR("%s", e.what());
+
+ gst::_disconnectSignal(&_gst.signals, G_OBJECT(src));
gst::_destroyElementFromParent(src);
throw;
}
diff --git a/src/MediaTransporterReceiverSrt.cpp b/src/MediaTransporterReceiverSrt.cpp
index 9d58d64..2d60276 100644
--- a/src/MediaTransporterReceiverSrt.cpp
+++ b/src/MediaTransporterReceiverSrt.cpp
@@ -121,6 +121,8 @@ void MediaTransporterReceiverSrt::buildPipeline()
} catch (const MediaTransporterException& e) {
LOG_ERROR("%s", e.what());
+ gst::_disconnectSignal(&_gst.signals, G_OBJECT(tsdemux));
+
gst::_destroyElementFromParent(src);
gst::_destroyElementFromParent(queue);
gst::_destroyElementFromParent(tsdemux);
diff --git a/src/MediaTransporterSenderSrt.cpp b/src/MediaTransporterSenderSrt.cpp
index 3f77e81..aae5349 100644
--- a/src/MediaTransporterSenderSrt.cpp
+++ b/src/MediaTransporterSenderSrt.cpp
@@ -191,6 +191,8 @@ void MediaTransporterSenderSrt::buildPipeline()
} catch (const MediaTransporterException& e) {
LOG_ERROR("%s", e.what());
+ gst::_disconnectSignal(&_gst.signals, G_OBJECT(sink));
+
gst::_destroyElementFromParent(mux);
gst::_destroyElementFromParent(sink);
diff --git a/test/mtpr_test.c b/test/mtpr_test.c
index 2545695..955adb3 100644
--- a/test/mtpr_test.c
+++ b/test/mtpr_test.c
@@ -19,7 +19,6 @@
#include <appcore-efl.h>
#include <Elementary.h>
#include <glib.h>
-#include <bundle.h>
#include <sound_manager_internal.h>
#define TIZEN_FEATURE_ESPP