Start taking advantage of the fact that NLE is in the same three as GES!

This commit is contained in:
Thibault Saunier 2014-09-19 12:57:30 +02:00
parent 50cf1fb5fe
commit 95223fd46b
3 changed files with 6 additions and 8 deletions

View file

@ -367,7 +367,7 @@ AC_SUBST(GST_ALL_LDFLAGS)
dnl GST_LIB_LDFLAGS dnl GST_LIB_LDFLAGS
dnl linker flags shared by all libraries dnl linker flags shared by all libraries
dnl LDFLAGS modifier defining exported symbols from built libraries dnl LDFLAGS modifier defining exported symbols from built libraries
GST_LIB_LDFLAGS=" -export-symbols-regex \^_*\(ges_\|GES_\).*" GST_LIB_LDFLAGS=" -export-symbols-regex \^_*\(nle\|ges_\|GES_\).*"
AC_SUBST(GST_LIB_LDFLAGS) AC_SUBST(GST_LIB_LDFLAGS)
dnl *** output files *** dnl *** output files ***

View file

@ -33,6 +33,7 @@
#include "ges-meta-container.h" #include "ges-meta-container.h"
#include "ges-video-track.h" #include "ges-video-track.h"
#include "ges-audio-track.h" #include "ges-audio-track.h"
#include "nle/nleobject.h"
G_DEFINE_TYPE_WITH_CODE (GESTrack, ges_track, GST_TYPE_BIN, G_DEFINE_TYPE_WITH_CODE (GESTrack, ges_track, GST_TYPE_BIN,
G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER, NULL)); G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER, NULL));
@ -409,7 +410,6 @@ ges_track_dispose (GObject * object)
{ {
GESTrack *track = (GESTrack *) object; GESTrack *track = (GESTrack *) object;
GESTrackPrivate *priv = track->priv; GESTrackPrivate *priv = track->priv;
gboolean ret;
/* Remove all TrackElements and drop our reference */ /* Remove all TrackElements and drop our reference */
g_hash_table_unref (priv->trackelements_iter); g_hash_table_unref (priv->trackelements_iter);
@ -417,7 +417,7 @@ ges_track_dispose (GObject * object)
(GFunc) dispose_trackelements_foreach, track); (GFunc) dispose_trackelements_foreach, track);
g_sequence_free (priv->trackelements_by_start); g_sequence_free (priv->trackelements_by_start);
g_list_free_full (priv->gaps, (GDestroyNotify) free_gap); g_list_free_full (priv->gaps, (GDestroyNotify) free_gap);
g_signal_emit_by_name (track->priv->composition, "commit", TRUE, &ret); nle_object_commit (NLE_OBJECT (track->priv->composition), TRUE);
if (priv->mixing_operation) if (priv->mixing_operation)
gst_object_unref (priv->mixing_operation); gst_object_unref (priv->mixing_operation);
@ -988,14 +988,11 @@ ges_track_get_mixing (GESTrack * track)
gboolean gboolean
ges_track_commit (GESTrack * track) ges_track_commit (GESTrack * track)
{ {
gboolean ret;
g_return_val_if_fail (GES_IS_TRACK (track), FALSE); g_return_val_if_fail (GES_IS_TRACK (track), FALSE);
resort_and_fill_gaps (track); resort_and_fill_gaps (track);
g_signal_emit_by_name (track->priv->composition, "commit", TRUE, &ret);
return ret; return nle_object_commit (NLE_OBJECT (track->priv->composition), TRUE);
} }

View file

@ -1,4 +1,5 @@
#include "common.h" #include "common.h"
#include "../../../ges/nle/nleobject.h"
void void
poll_the_bus (GstBus * bus) poll_the_bus (GstBus * bus)
@ -369,7 +370,7 @@ commit_and_wait (GstElement * comp, gboolean * ret)
gulong handler_id = gulong handler_id =
g_signal_connect (comp, "commited", (GCallback) commited_cb, NULL); g_signal_connect (comp, "commited", (GCallback) commited_cb, NULL);
g_mutex_lock (&lock); g_mutex_lock (&lock);
g_signal_emit_by_name (comp, "commit", TRUE, ret); *ret = nle_object_commit (NLE_OBJECT (comp), TRUE);
g_cond_wait (&cond, &lock); g_cond_wait (&cond, &lock);
g_mutex_unlock (&lock); g_mutex_unlock (&lock);
g_signal_handler_disconnect (comp, handler_id); g_signal_handler_disconnect (comp, handler_id);