-AC_INIT(extension, 1.0)
+AC_INIT(gst-plugins-tizen, 1.0)
dnl versions of gstreamer and plugins-base
GST_MAJORMINOR=1.0
AC_SUBST(GST_VIDEO_CFLAGS)
AC_SUBST(GST_VIDEO_LIBS)
-dnl xvimagesrc _CFLAGS and _LIB available
-
-PKG_CHECK_MODULES(DRI2, libdri2)
-AC_SUBST(DRI2_CFLAGS)
-AC_SUBST(DRI2_LIBS)
-
-PKG_CHECK_MODULES(X11, x11)
-AC_SUBST(X11_CFLAGS)
-AC_SUBST(X11_LIBS)
-
-PKG_CHECK_MODULES(XEXT, xext)
-AC_SUBST(XEXT_CFLAGS)
-AC_SUBST(XEXT_LIBS)
-
-PKG_CHECK_MODULES(XV, xv)
-AC_SUBST(XV_CFLAGS)
-AC_SUBST(XV_LIBS)
-
-PKG_CHECK_MODULES(XDAMAGE, xdamage)
-AC_SUBST(XDAMAGE_CFLAGS)
-AC_SUBST(XDAMAGE_LIBS)
-
PKG_CHECK_MODULES(DRM, libdrm)
AC_SUBST(DRM_CFLAGS)
AC_SUBST(DRM_LIBS)
-PKG_CHECK_MODULES(DRM, libdrm-devel)
-AC_SUBST(DRM_DEVEL_CFLAGS)
-AC_SUBST(DRM_DEVEL_LIBS)
+PKG_CHECK_MODULES(DRM_EXYNOS, libdrm_exynos)
+AC_SUBST(DRM_EXYNOS_CFLAGS)
+AC_SUBST(DRM_EXYNOS_LIBS)
PKG_CHECK_MODULES(TBM, libtbm)
AC_SUBST(TBM_CFLAGS)
PKG_CHECK_MODULES(EFL, [
evas >= $EFL_REQUIRED
ecore >= $EFL_REQUIRED
- ecore-x >= $EFL_REQUIRED
], [
AC_SUBST(EFL_CFLAGS)
AC_SUBST(EFL_LIBS)
X_LIBS="$X_LIBS -lX11"
AC_SUBST(X_CFLAGS)
AC_SUBST(X_LIBS)
+
+ dnl xvimagesrc _CFLAGS and _LIB available
+
+ PKG_CHECK_MODULES(DRI2, libdri2)
+ AC_SUBST(DRI2_CFLAGS)
+ AC_SUBST(DRI2_LIBS)
+
+ PKG_CHECK_MODULES(X11, x11)
+ AC_SUBST(X11_CFLAGS)
+ AC_SUBST(X11_LIBS)
+
+ PKG_CHECK_MODULES(XEXT, xext)
+ AC_SUBST(XEXT_CFLAGS)
+ AC_SUBST(XEXT_LIBS)
+
+ PKG_CHECK_MODULES(XV, xv)
+ AC_SUBST(XV_CFLAGS)
+ AC_SUBST(XV_LIBS)
+
+ PKG_CHECK_MODULES(XDAMAGE, xdamage)
+ AC_SUBST(XDAMAGE_CFLAGS)
+ AC_SUBST(XDAMAGE_LIBS)
+
+ PKG_CHECK_MODULES(ECORE_X, ecore-x)
+ AC_SUBST(ECORE_X_CFLAGS)
+ AC_SUBST(ECORE_X_LIBS)
+
fi
AC_SUBST(HAVE_X)
CFLAGS="$ac_cflags_save"
dnl AC_SUBST(UDEVMGR_CFLAGS)
dnl AC_SUBST(UDEVMGR_LIBS)
-dnl use ext-encodebin --------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-encodebin, AC_HELP_STRING([--enable-ext-encodebin], [using encodebin]),
+dnl use encodebin --------------------------------------------------------------------------
+AC_ARG_ENABLE(encodebin, AC_HELP_STRING([--enable-encodebin], [using encodebin]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_ENCODEBIN=yes ;;
- no) GST_EXT_USE_EXT_ENCODEBIN=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-encodebin) ;;
+ yes) GST_TIZEN_USE_ENCODEBIN=yes ;;
+ no) GST_TIZEN_USE_ENCODEBIN=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-encodebin) ;;
esac
],
- [GST_EXT_USE_EXT_ENCODEBIN=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_ENCODEBIN, test "x$GST_EXT_USE_EXT_ENCODEBIN" = "xyes")
+ [GST_TIZEN_USE_ENCODEBIN=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_ENCODEBIN, test "x$GST_TIZEN_USE_ENCODEBIN" = "xyes")
-dnl use ext-evasimagesink --------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-evasimagesink, AC_HELP_STRING([--enable-ext-evasimagesink], [using evasimagesink]),
+dnl use evasimagesink --------------------------------------------------------------------------
+AC_ARG_ENABLE(evasimagesink, AC_HELP_STRING([--enable-evasimagesink], [using evasimagesink]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_EVASIMAGESINK=yes ;;
- no) GST_EXT_USE_EXT_EVASIMAGESINK=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-evasimagesink) ;;
+ yes) GST_TIZEN_USE_EVASIMAGESINK=yes ;;
+ no) GST_TIZEN_USE_EVASIMAGESINK=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-evasimagesink) ;;
esac
],
- [GST_EXT_USE_EXT_EVASIMAGESINK=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_EVASIMAGESINK, test "x$GST_EXT_USE_EXT_EVASIMAGESINK" = "xyes")
+ [GST_TIZEN_USE_EVASIMAGESINK=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_EVASIMAGESINK, test "x$GST_TIZEN_USE_EVASIMAGESINK" = "xyes")
dnl use evaspixmapsink ---------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-evaspixmapsink, AC_HELP_STRING([--enable-ext-evaspixmapsink], [using evaspixmapsink]),
+AC_ARG_ENABLE(evaspixmapsink, AC_HELP_STRING([--enable-evaspixmapsink], [using evaspixmapsink]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_EVASPIXMAPSINK=yes ;;
- no) GST_EXT_USE_EXT_EVASPIXMAPSINK=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-evaspixmapsink) ;;
+ yes) GST_TIZEN_USE_EVASPIXMAPSINK=yes ;;
+ no) GST_TIZEN_USE_EVASPIXMAPSINK=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-evaspixmapsink) ;;
esac
],
- [GST_EXT_USE_EXT_EVASPIXMAPSINK=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_EVASPIXMAPSINK, test "x$GST_EXT_USE_EXT_EVASPIXMAPSINK" = "xyes")
+ [GST_TIZEN_USE_EVASPIXMAPSINK=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_EVASPIXMAPSINK, test "x$GST_TIZEN_USE_EVASPIXMAPSINK" = "xyes")
-dnl use ext-xvimagesrc--------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-xvimagesrc, AC_HELP_STRING([--enable-ext-xvimagesrc], [using xvimagesrc]),
+dnl use xvimagesrc--------------------------------------------------------------------------
+AC_ARG_ENABLE(xvimagesrc, AC_HELP_STRING([--enable-xvimagesrc], [using xvimagesrc]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_XVIMAGESRC=yes ;;
- no) GST_EXT_USE_EXT_XVIMAGESRC=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-xvimagesrc) ;;
+ yes) GST_TIZEN_USE_XVIMAGESRC=yes ;;
+ no) GST_TIZEN_USE_XVIMAGESRC=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-xvimagesrc) ;;
esac
],
- [GST_EXT_USE_EXT_XVIMAGESRC=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_XVIMAGESRC, test "x$GST_EXT_USE_EXT_XVIMAGESRC" = "xyes")
+ [GST_TIZEN_USE_XVIMAGESRC=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_XVIMAGESRC, test "x$GST_TIZEN_USE_XVIMAGESRC" = "xyes")
-dnl use ext-drmsrc --------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-drmsrc, AC_HELP_STRING([--enable-ext-drmsrc], [using drmsrc]),
+dnl use drmsrc --------------------------------------------------------------------------
+AC_ARG_ENABLE(drmsrc, AC_HELP_STRING([--enable-drmsrc], [using drmsrc]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_DRMSRC=yes ;;
- no) GST_EXT_USE_EXT_DRMSRC=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-drmsrc) ;;
+ yes) GST_TIZEN_USE_DRMSRC=yes ;;
+ no) GST_TIZEN_USE_DRMSRC=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-drmsrc) ;;
esac
],
- [GST_EXT_USE_EXT_DRMSRC=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_DRMSRC, test "x$GST_EXT_USE_EXT_DRMSRC" = "xyes")
-dnl use ext-toggle --------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-toggle, AC_HELP_STRING([--enable-ext-toggle], [using toggle]),
+ [GST_TIZEN_USE_DRMSRC=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_DRMSRC, test "x$GST_TIZEN_USE_DRMSRC" = "xyes")
+
+dnl use toggle --------------------------------------------------------------------------
+AC_ARG_ENABLE(toggle, AC_HELP_STRING([--enable-toggle], [using toggle]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_TOGGLE=yes ;;
- no) GST_EXT_USE_EXT_TOGGLE=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-toggle) ;;
+ yes) GST_TIZEN_USE_TOGGLE=yes ;;
+ no) GST_TIZEN_USE_TOGGLE=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-toggle) ;;
esac
],
- [GST_EXT_USE_EXT_TOGGLE=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_TOGGLE, test "x$GST_EXT_USE_EXT_TOGGLE" = "xyes")
+ [GST_TIZEN_USE_TOGGLE=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_TOGGLE, test "x$GST_TIZEN_USE_TOGGLE" = "xyes")
dnl for i386 --------------------------------------------------------------------------
AC_ARG_ENABLE(i386, AC_HELP_STRING([--enable-i386], [i386 build]),
[IS_I386=no])
AM_CONDITIONAL([IS_I386], [test "x$IS_I386" = "xyes"])
-dnl use ext-pdpushsrc --------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-pdpushsrc, AC_HELP_STRING([--enable-ext-pdpushsrc], [using pdpushsrc]),
+dnl use pdpushsrc --------------------------------------------------------------------------
+AC_ARG_ENABLE(pdpushsrc, AC_HELP_STRING([--enable-pdpushsrc], [using pdpushsrc]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_PD_PUSHSRC=yes ;;
- no) GST_EXT_USE_EXT_PD_PUSHSRC=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-pdpushsrc) ;;
+ yes) GST_TIZEN_USE_PD_PUSHSRC=yes ;;
+ no) GST_TIZEN_USE_PD_PUSHSRC=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-pdpushsrc) ;;
esac
],
- [GST_EXT_USE_EXT_PD_PUSHSRC=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_PD_PUSHSRC, test "x$GST_EXT_USE_EXT_PD_PUSHSRC" = "xyes")
-dnl use ext-audiotp --------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-audiotp, AC_HELP_STRING([--enable-ext-audiotp], [using audiotp]),
+ [GST_TIZEN_USE_PD_PUSHSRC=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_PD_PUSHSRC, test "x$GST_TIZEN_USE_PD_PUSHSRC" = "xyes")
+
+dnl use audiotp --------------------------------------------------------------------------
+AC_ARG_ENABLE(audiotp, AC_HELP_STRING([--enable-audiotp], [using audiotp]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_AUDIOTP=yes ;;
- no) GST_EXT_USE_EXT_AUDIOTP=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-audiotp) ;;
+ yes) GST_TIZEN_USE_AUDIOTP=yes ;;
+ no) GST_TIZEN_USE_AUDIOTP=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-audiotp) ;;
esac
],
- [GST_EXT_USE_EXT_AUDIOTP=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_AUDIOTP, test "x$GST_EXT_USE_EXT_AUDIOTP" = "xyes")
+ [GST_TIZEN_USE_AUDIOTP=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_AUDIOTP, test "x$GST_TIZEN_USE_AUDIOTP" = "xyes")
-dnl use ext-audioeq --------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-audioeq, AC_HELP_STRING([--enable-ext-audioeq], [using audioeq]),
+dnl use audioeq --------------------------------------------------------------------------
+AC_ARG_ENABLE(audioeq, AC_HELP_STRING([--enable-audioeq], [using audioeq]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_AUDIOEQ=yes ;;
- no) GST_EXT_USE_EXT_AUDIOEQ=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-audioeq) ;;
+ yes) GST_TIZEN_USE_AUDIOEQ=yes ;;
+ no) GST_TIZEN_USE_AUDIOEQ=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-audioeq) ;;
esac
],
- [GST_EXT_USE_EXT_AUDIOEQ=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_AUDIOEQ, test "x$GST_EXT_USE_EXT_AUDIOEQ" = "xyes")
+ [GST_TIZEN_USE_AUDIOEQ=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_AUDIOEQ, test "x$GST_TIZEN_USE_AUDIOEQ" = "xyes")
-dnl use ext-fimcconvert ----------------------------------------------------------------------
-AC_ARG_ENABLE(ext-fimcconvert, AC_HELP_STRING([--enable-ext-fimcconvert], [using fimcconvert]),
+dnl use fimcconvert ----------------------------------------------------------------------
+AC_ARG_ENABLE(fimcconvert, AC_HELP_STRING([--enable-fimcconvert], [using fimcconvert]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_FIMCCONVERT=yes ;;
- no) GST_EXT_USE_EXT_FIMCCONVERT=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-fimcconvert) ;;
+ yes) GST_TIZEN_USE_FIMCCONVERT=yes ;;
+ no) GST_TIZEN_USE_FIMCCONVERT=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-fimcconvert) ;;
esac
],
- [GST_EXT_USE_EXT_FIMCCONVERT=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_FIMCCONVERT, test "x$GST_EXT_USE_EXT_FIMCCONVERT" = "xyes")
+ [GST_TIZEN_USE_FIMCCONVERT=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_FIMCCONVERT, test "x$GST_TIZEN_USE_FIMCCONVERT" = "xyes")
-dnl use ext-wfdrtspsrc --------------------------------------------------------------------------
-AC_ARG_ENABLE(ext-wfdrtspsrc, AC_HELP_STRING([--enable-ext-wfdrtspsrc], [using wfdrtspsrc]),
+dnl use wfdrtspsrc --------------------------------------------------------------------------
+AC_ARG_ENABLE(wfdrtspsrc, AC_HELP_STRING([--enable-wfdrtspsrc], [using wfdrtspsrc]),
[
case "${enableval}" in
- yes) GST_EXT_USE_EXT_WFDRTSPSRC=yes ;;
- no) GST_EXT_USE_EXT_WFDRTSPSRC=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ext-wfdrtspsrc) ;;
+ yes) GST_TIZEN_USE_WFDRTSPSRC=yes ;;
+ no) GST_TIZEN_USE_WFDRTSPSRC=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-wfdrtspsrc) ;;
esac
],
- [GST_EXT_USE_EXT_WFDRTSPSRC=yes])
-AM_CONDITIONAL(GST_EXT_USE_EXT_WFDRTSPSRC, test "x$GST_EXT_USE_EXT_WFDRTSPSRC" = "xyes")
-dnl if [test "x$GST_EXT_USE_EXT_WFDRTSPSRC" = "xyes"];
+ [GST_TIZEN_USE_WFDRTSPSRC=yes])
+AM_CONDITIONAL(GST_TIZEN_USE_WFDRTSPSRC, test "x$GST_TIZEN_USE_WFDRTSPSRC" = "xyes")
+
+dnl if [test "x$GST_TIZEN_USE_WFDRTSPSRC" = "xyes"];
dnl then
dnl PKG_CHECK_MODULES(MM_WFD_COMMON, mm-scmirroring-common)
dnl AC_SUBST(MM_WFD_COMMON_CFLAGS)
dnl wfdrtspsrc/Makefile
dnl wfdrtspsrc/src/Makefile
)
+
static gboolean gst_encode_bin_block(GstEncodeBin *encodebin, gboolean value);
static gboolean gst_encode_bin_pause(GstEncodeBin *encodebin, gboolean value);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-static gboolean gst_encode_bin_release_pipeline (GstElement *element, gpointer user_data);
static GstPad* gst_encode_bin_get_mux_sink_pad(GstElement *mux, GstEncodeBinMuxSinkPad type);
//Data probe
{
GObjectClass *gobject_klass;
GstElementClass *gstelement_klass;
- GstBinClass *gstbin_klass;
gobject_klass = (GObjectClass *) klass;
gstelement_klass = (GstElementClass *) klass;
- gstbin_klass = (GstBinClass *) klass;
parent_class = g_type_class_peek_parent (klass);
static void
gst_encode_bin_init (GstEncodeBin *encodebin)
{
- encodebin->mutex = g_mutex_new();
-
if (encodebin->srcpad == NULL) {
encodebin->srcpad = gst_ghost_pad_new_no_target ("src", GST_PAD_SRC);
gst_element_add_pad (GST_ELEMENT(encodebin), encodebin->srcpad);
static void
gst_encode_bin_finalize (GObject * object)
{
- GstEncodeBin *encodebin = GST_ENCODE_BIN (object);
-
- g_mutex_free (encodebin->mutex);
-
G_OBJECT_CLASS (parent_class)->finalize (object);
}
}
static void
-gst_encode_bin_release_all_pads (GstEncodeBin *encodebin)
-{
- gst_element_remove_pad(GST_ELEMENT(encodebin), encodebin->video_sinkpad);
- gst_element_remove_pad(GST_ELEMENT(encodebin), encodebin->audio_sinkpad);
- gst_element_remove_pad(GST_ELEMENT(encodebin), encodebin->image_sinkpad);
-}
-
-static void
gst_encode_bin_release_pad (GstElement * element, GstPad * pad)
{
GstEncodeBin *encodebin = GST_ENCODE_BIN (element);
- GstPad *muxpad = NULL;
if(!pad_compare_name(pad, "video")) {
#if 0
encodebin->mux_audio_sinkpad;
gst_element_release_request_pad(encodebin->mux, encodebin->mux_audio_sinkpad);
- muxpad = NULL;
if(encodebin->mux_video_sinkpad == NULL) {
gst_encode_bin_remove_element(encodebin, encodebin->mux);
static gboolean
gst_encode_bin_unlink_elements (GstEncodeBin *encodebin)
{
- GstPad *pad = NULL, *muxpad = NULL;
+ GstPad *pad = NULL;
switch(encodebin->profile) {
case GST_ENCODE_BIN_PROFILE_AV :
if(encodebin->mux_video_sinkpad != NULL)
{
-#if 0
- if(encodebin->use_venc_queue)
- {
- gst_element_unlink(encodebin->video_encode, encodebin->video_encode_queue);
-
- pad = gst_element_get_static_pad (encodebin->video_encode_queue, "src");
- gst_pad_unlink(pad, muxpad);
- gst_object_unref(pad);
- pad = NULL;
-
- if ( g_signal_handler_is_connected ( encodebin->video_encode_queue, encodebin->veque_sig_id) )
- {
- g_signal_handler_disconnect ( encodebin->video_encode_queue, encodebin->veque_sig_id );
- }
- }
-#else
if(encodebin->video_encode_queue)
{
gst_element_unlink(encodebin->video_encode, encodebin->video_encode_queue);
g_signal_handler_disconnect ( encodebin->video_encode_queue, encodebin->veque_sig_id );
}
}
-#endif
else
{
pad = gst_element_get_static_pad (encodebin->video_encode, "src");
if (encodebin->paused_time == 0)
{
//get steam time
- if (clock = GST_ELEMENT_CLOCK(encodebin)) //before PLAYING, this would be NULL. Need to check.
+ clock = GST_ELEMENT_CLOCK(encodebin);
+ if (clock) //before PLAYING, this would be NULL. Need to check.
{
GstClockTime current_time, base_time;
/* release paused-stream*/
if (encodebin->paused_time != 0)
{
- if (clock = GST_ELEMENT_CLOCK(encodebin))
+ clock = GST_ELEMENT_CLOCK(encodebin);
+ if (clock)
{
GstClockTime current_time, base_time;
GstClockTime paused_gap;
return FALSE;
}
-static gboolean
-gst_encode_bin_release_pipeline (GstElement *element,
- gpointer user_data)
-{
-#if 0
- GstEncodeBin *encodebin = GST_ENCODE_BIN (element);
-
- gst_element_set_state (encodebin->audio_queue, GST_STATE_NULL);
- gst_element_set_state (encodebin->audio_encode, GST_STATE_NULL);
- gst_element_set_state (encodebin->video_queue, GST_STATE_NULL);
- gst_element_set_state (encodebin->video_encode, GST_STATE_NULL);
- gst_element_set_state (encodebin->mux, GST_STATE_NULL);
-
- if (encodebin->auto_video_scale) {
- gst_element_set_state (encodebin->video_scale, GST_STATE_NULL);
- gst_element_unlink (encodebin->video_queue, encodebin->video_scale);
- gst_element_unlink (encodebin->video_scale, encodebin->video_encode);
- gst_bin_remove (GST_BIN (element), encodebin->video_scale);
-
- encodebin->video_scale = NULL;
- } else {
- gst_element_unlink (encodebin->video_queue, encodebin->video_encode);
- }
-
- gst_pad_unlink (gst_element_get_pad (encodebin->audio_encode, "src"),
- encodebin->mux_audio_sinkpad);
- gst_pad_unlink (gst_element_get_pad (encodebin->video_encode, "src"),
- encodebin->mux_video_sinkpad);
-
- gst_bin_remove_many (GST_BIN (element),
- encodebin->audio_queue,
- encodebin->audio_encode,
- encodebin->video_queue,
- encodebin->video_encode,
- encodebin->mux,
- NULL);
-
- encodebin->audio_queue = NULL;
- encodebin->audio_encode = NULL;
- encodebin->video_queue = NULL;
- encodebin->video_encode = NULL;
- encodebin->mux = NULL;
-#endif
- return TRUE;
-}
-
static GstPadProbeReturn
gst_encode_bin_video_probe(GstPad *pad, GstPadProbeInfo *info, GstEncodeBin *encodebin)
{