Merge remote-tracking branch 'origin/0.10'
authorThibault Saunier <thibault.saunier@collabora.com>
Sat, 26 May 2012 21:00:50 +0000 (17:00 -0400)
committerThibault Saunier <thibault.saunier@collabora.com>
Sat, 26 May 2012 21:00:50 +0000 (17:00 -0400)
Conflicts:
bindings/python/ges.defs
ges/ges-screenshot.c
ges/ges-track-video-transition.c

1  2 
docs/libs/ges-sections.txt
ges/ges-formatter.c
ges/ges-screenshot.c
ges/ges-timeline-layer.c
ges/ges-timeline-object.c
ges/ges-timeline.c
ges/ges-track-object.c
ges/ges-track.c

Simple merge
Simple merge
  #include "ges-screenshot.h"
  #include "ges-internal.h"
  
 - * Returns: (transfer full): A #GstBuffer containing the last frame from
+ /**
+  * ges_play_sink_convert_frame:
+  * @playsink: The olaysink to get last frame from
+  * @caps: The caps defining the format the return value will have
+  *
+  * Get the last buffer @playsink showed
+  *
 -GstBuffer *
++ * Returns: (transfer full): A #GstSample containing the last frame from
+  * @playsink in the format defined by the @caps
+  */
 +GstSample *
  ges_play_sink_convert_frame (GstElement * playsink, GstCaps * caps)
  {
 -  GstBuffer *result;
 +  GstSample *sample = NULL;
  
 -  g_object_get (G_OBJECT (playsink), "frame", (GstMiniObject *) & result, NULL);
 +  g_signal_emit_by_name (playsink, "convert-sample", caps, &sample);
  
 -  GST_DEBUG ("got buffer %p from playsink", result);
 -
 -  if (result != NULL && caps != NULL) {
 -    GstBuffer *temp;
 -    GError *err = NULL;
 -
 -    temp = gst_video_convert_frame (result, caps, 25 * GST_SECOND, &err);
 -    gst_buffer_unref (result);
 -    if (temp == NULL && err) {
 -      /* I'm really uncertain whether we should make playsink post an error
 -       * on the bus or not. It's not like it's a critical issue regarding
 -       * playsink behaviour. */
 -      GST_ERROR ("Error converting frame: %s", err->message);
 -    }
 -    result = temp;
 -  }
 -  return result;
 +  return sample;
  }
Simple merge
Simple merge
@@@ -48,8 -49,12 +48,12 @@@ static inline void init_movecontext (Mo
  
  G_DEFINE_TYPE (GESTimeline, ges_timeline, GST_TYPE_BIN);
  
+ GST_DEBUG_CATEGORY_STATIC (ges_timeline_debug);
+ #undef GST_CAT_DEFAULT
+ #define GST_CAT_DEFAULT ges_timeline_debug
  #define GES_TIMELINE_PENDINGOBJS_GET_LOCK(timeline) \
 -  (GES_TIMELINE(timeline)->priv->pendingobjects_lock)
 +  (&GES_TIMELINE(timeline)->priv->pendingobjects_lock)
  #define GES_TIMELINE_PENDINGOBJS_LOCK(timeline) \
    (g_mutex_lock(GES_TIMELINE_PENDINGOBJS_GET_LOCK (timeline)))
  #define GES_TIMELINE_PENDINGOBJS_UNLOCK(timeline) \
Simple merge
diff --cc ges/ges-track.c
@@@ -333,9 -624,13 +623,13 @@@ GESTrack 
  ges_track_video_raw_new (void)
  {
    GESTrack *track;
 -  GstCaps *caps = gst_caps_from_string ("video/x-raw-yuv;video/x-raw-rgb");
 +  GstCaps *caps = gst_caps_new_empty_simple ("video/x-raw");
  
    track = ges_track_new (GES_TRACK_TYPE_VIDEO, caps);
+   ges_track_set_create_element_for_gap_func (track,
+       create_element_for_raw_video_gap);
+   GST_DEBUG_OBJECT (track, "New raw video track");
  
    return track;
  }
@@@ -352,10 -647,14 +646,14 @@@ GESTrack 
  ges_track_audio_raw_new (void)
  {
    GESTrack *track;
 -  GstCaps *caps = gst_caps_from_string ("audio/x-raw-int;audio/x-raw-float");
 +  GstCaps *caps = gst_caps_new_empty_simple ("audio/x-raw");
  
    track = ges_track_new (GES_TRACK_TYPE_AUDIO, caps);
+   ges_track_set_create_element_for_gap_func (track,
+       create_element_for_raw_audio_gap);
  
+   GST_DEBUG_OBJECT (track, "New raw audio track %p",
+       track->priv->create_element_for_gaps);
    return track;
  }