Merge remote-tracking branch 'remotes/origin/upstream/1.6' into tizen 02/52702/1
authorEunhae Choi <eunhae1.choi@samsung.com>
Thu, 26 Nov 2015 04:39:22 +0000 (13:39 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Thu, 26 Nov 2015 04:39:38 +0000 (13:39 +0900)
Change-Id: Ia560d7ec75c4a90408986d1fdf1689ce0f73fd29

29 files changed:
1  2 
.gitignore
RELEASE
configure.ac
ext/dash/gstmpdparser.c
ext/dash/gstmpdparser.h
ext/gl/gstglmixer.c
ext/wayland/Makefile.am
ext/wayland/gstwaylandsink.c
ext/wayland/wldisplay.c
ext/wayland/wldisplay.h
ext/wayland/wlvideoformat.c
ext/wayland/wlvideoformat.h
ext/wayland/wlwindow.c
ext/wayland/wlwindow.h
gst/mpegdemux/gstmpegdemux.c
gst/mpegtsdemux/mpegtspacketizer.c
gst/mpegtsmux/mpegtsmux.c
po/af.po
po/az.po
po/cs.po
po/da.po
po/en_GB.po
po/fr.po
po/or.po
po/pt_BR.po
po/sr.po
po/tr.po
sys/decklink/gstdecklink.cpp
sys/shm/gstshmsrc.c

diff --cc .gitignore
Simple merge
diff --cc RELEASE
+++ b/RELEASE
@@@ -1,28 -1,19 +1,25 @@@
  
- Release notes for GStreamer Bad Plugins 1.4.1
+ Release notes for GStreamer Bad Plugins 1.6.1
  
  
- The GStreamer team is pleased to announce a bugfix release of the stable
- 1.4 release series. The 1.4 release series is adding new features on top
- of the 1.2 series and is part of the API and ABI-stable 1.x release
- series of the GStreamer multimedia framework that contains new features.
- The 1.4.x bugfix releases only contain important bugfixes compared to 1.4.0.
+ The GStreamer team is proud to announce the first bugfix release in the stable
+ 1.6 release series of your favourite cross-platform multimedia framework!
  
  
 +Binaries for Android, iOS, Mac OS X and Windows are provided by the
 +GStreamer project for this release.
  
+ This release only contains bugfixes and it is safe to update from 1.6.0. For a
+ full list of bugfixes see Bugzilla.
  
 +The 1.x series is a stable series targeted at end users. It is not API
 +or ABI compatible with the 0.10.x series. It can, however, be installed
 +in parallel with the 0.10.x series and will not affect an existing
 +0.10.x installation.
  
  
- The stable 1.4.x release series is API and ABI compatible with 1.0.x and
- any other 1.x release series in the future. Compared to 1.0.x it contains
- some new features and more intrusive changes that were considered too
- risky as a bugfix.
+ See http://gstreamer.freedesktop.org/releases/1.6/
+ for the full release notes.
  
  
  
diff --cc configure.ac
Simple merge
@@@ -3572,15 -4561,78 +4561,78 @@@ gst_mpd_client_get_next_fragment_timest
    return TRUE;
  }
  
+ GstClockTime
+ gst_mpd_parser_get_stream_presentation_offset (GstMpdClient * client,
+     guint stream_idx)
+ {
+   GstActiveStream *stream = NULL;
+   g_return_val_if_fail (client != NULL, 0);
+   g_return_val_if_fail (client->active_streams != NULL, 0);
+   stream = g_list_nth_data (client->active_streams, stream_idx);
+   g_return_val_if_fail (stream != NULL, 0);
+   return stream->presentationTimeOffset;
+ }
+ GstClockTime
+ gst_mpd_parser_get_period_start_time (GstMpdClient * client)
+ {
+   GstStreamPeriod *stream_period = NULL;
+   g_return_val_if_fail (client != NULL, 0);
+   stream_period = gst_mpdparser_get_stream_period (client);
+   g_return_val_if_fail (stream_period != NULL, 0);
+   return stream_period->start;
+ }
+ /**
+  * gst_mpd_client_get_utc_timing_sources:
+  * @client: #GstMpdClient to check for UTCTiming elements
+  * @methods: A bit mask of #GstMPDUTCTimingType that specifies the methods
+  *     to search for.
+  * @selected_method: (nullable): The selected method
+  * Returns: (transfer none): A NULL terminated array of URLs of servers
+  *     that use @selected_method to provide a realtime clock.
+  *
+  * Searches the UTCTiming elements found in the manifest for an element
+  * that uses one of the UTC timing methods specified in @selected_method.
+  * If multiple UTCTiming elements are present that support one of the
+  * methods specified in @selected_method, the first one is returned.
+  *
+  * Since: 1.6
+  */
+ gchar **
+ gst_mpd_client_get_utc_timing_sources (GstMpdClient * client,
+     guint methods, GstMPDUTCTimingType * selected_method)
+ {
+   GList *list;
+   g_return_val_if_fail (client != NULL, NULL);
+   g_return_val_if_fail (client->mpd_node != NULL, NULL);
+   for (list = g_list_first (client->mpd_node->UTCTiming); list;
+       list = g_list_next (list)) {
+     const GstUTCTimingNode *node = (const GstUTCTimingNode *) list->data;
+     if (node->method & methods) {
+       if (selected_method) {
+         *selected_method = node->method;
+       }
+       return node->urls;
+     }
+   }
+   return NULL;
+ }
  gboolean
  gst_mpd_client_get_next_fragment (GstMpdClient * client,
 -    guint indexStream, GstMediaFragmentInfo * fragment)
 +    guint indexStream, GstMediaFragmentInfo * fragment, gboolean forward)
  {
    GstActiveStream *stream = NULL;
-   GstMediaSegment currentChunk;
+   GstMediaSegment *currentChunk;
    gchar *mediaURL = NULL;
    gchar *indexURL = NULL;
-   guint segment_idx;
+   GstUri *base_url, *frag_url;
  
    /* select stream */
    g_return_val_if_fail (client != NULL, FALSE);
@@@ -484,15 -531,14 +531,14 @@@ void gst_mpd_client_set_uri_downloader 
  gboolean gst_mpd_parse (GstMpdClient *client, const gchar *data, gint size);
  
  /* Streaming management */
- gboolean gst_mpd_client_setup_media_presentation (GstMpdClient *client);
+ gboolean gst_mpd_client_setup_media_presentation (GstMpdClient *client, GstClockTime time, gint period_index, const gchar *period_id);
  gboolean gst_mpd_client_setup_streaming (GstMpdClient * client, GstAdaptationSetNode * adapt_set);
  gboolean gst_mpd_client_setup_representation (GstMpdClient *client, GstActiveStream *stream, GstRepresentationNode *representation);
- GList * gst_mpd_client_get_adaptation_sets (GstMpdClient * client);
  GstClockTime gst_mpd_client_get_next_fragment_duration (GstMpdClient * client, GstActiveStream * stream);
  GstClockTime gst_mpd_client_get_media_presentation_duration (GstMpdClient *client);
- gboolean gst_mpd_client_get_last_fragment_timestamp (GstMpdClient * client, guint stream_idx, GstClockTime * ts);
+ gboolean gst_mpd_client_get_last_fragment_timestamp_end (GstMpdClient * client, guint stream_idx, GstClockTime * ts);
  gboolean gst_mpd_client_get_next_fragment_timestamp (GstMpdClient * client, guint stream_idx, GstClockTime * ts);
 -gboolean gst_mpd_client_get_next_fragment (GstMpdClient *client, guint indexStream, GstMediaFragmentInfo * fragment);
 +gboolean gst_mpd_client_get_next_fragment (GstMpdClient *client, guint indexStream, GstMediaFragmentInfo * fragment, gboolean forward);
  gboolean gst_mpd_client_get_next_header (GstMpdClient *client, gchar **uri, guint stream_idx, gint64 * range_start, gint64 * range_end);
  gboolean gst_mpd_client_get_next_header_index (GstMpdClient *client, gchar **uri, guint stream_idx, gint64 * range_start, gint64 * range_end);
  gboolean gst_mpd_client_is_live (GstMpdClient * client);
@@@ -49,11 -42,7 +42,8 @@@ static void gst_gl_mixer_pad_get_proper
      GValue * value, GParamSpec * pspec);
  static void gst_gl_mixer_pad_set_property (GObject * object, guint prop_id,
      const GValue * value, GParamSpec * pspec);
 +static void gst_gl_mixer_pad_finalize (GObject * object);
  
- static void gst_gl_mixer_set_context (GstElement * element,
-     GstContext * context);
  enum
  {
    PROP_PAD_0
Simple merge
index db7caa6,7cc4bba..b36b5f8
mode 100755,100644..100755
  #endif
  
  #include "gstwaylandsink.h"
 +#ifdef GST_WLSINK_ENHANCEMENT
 +#include <mm_types.h>
 +#include "tizen-wlvideoformat.h"
 +#else
  #include "wlvideoformat.h"
- #endif
- #include "waylandpool.h"
+ #include "wlbuffer.h"
+ #include "wlshmallocator.h"
  
  #include <gst/wayland/wayland.h>
  #include <gst/video/videooverlay.h>
@@@ -407,32 -212,15 +407,21 @@@ gst_wayland_sink_finalize (GObject * ob
  
    if (sink->last_buffer)
      gst_buffer_unref (sink->last_buffer);
-   if (sink->display) {
-     /* see comment about this call in gst_wayland_sink_change_state() */
- #ifdef GST_WLSINK_ENHANCEMENT
-     if (sink->pool && !sink->display->is_native_format)
- #else
-     if (sink->pool)
- #endif
-       gst_wayland_compositor_release_all_buffers (GST_WAYLAND_BUFFER_POOL
-           (sink->pool));
+   if (sink->display)
      g_object_unref (sink->display);
-     sink->display = NULL;
-   }
-   if (sink->window) {
+   if (sink->window)
      g_object_unref (sink->window);
 -  if (sink->pool)
 +    sink->window = NULL;
 +  }
 +  if (sink->pool) {
      gst_object_unref (sink->pool);
 +    sink->pool = NULL;
 +  }
  
 -  if (sink->display_name)
 +  if (sink->display_name) {
      g_free (sink->display_name);
 +    sink->display_name = NULL;
 +  }
  
    g_mutex_clear (&sink->display_lock);
    g_mutex_clear (&sink->render_lock);
@@@ -655,18 -400,8 +617,18 @@@ gst_wayland_sink_get_caps (GstBaseSink 
      formats = sink->display->formats;
      for (i = 0; i < formats->len; i++) {
        fmt = g_array_index (formats, uint32_t, i);
-       g_value_set_string (&value, gst_wayland_format_to_string (fmt));
+       g_value_set_string (&value, gst_wl_shm_format_to_string (fmt));
        gst_value_list_append_value (&list, &value);
 +#ifdef GST_WLSINK_ENHANCEMENT
 +      /* TBM doesn't support SN12. So we add SN12 manually as supported format.
 +       * SN12 is exactly same with NV12.
 +       */
 +      if (fmt == TBM_FORMAT_NV12) {
 +        g_value_set_string (&value,
 +            gst_video_format_to_string (GST_VIDEO_FORMAT_SN12));
 +        gst_value_list_append_value (&list, &value);
 +      }
 +#endif
      }
  
      caps = gst_caps_make_writable (caps);
@@@ -713,11 -442,8 +675,11 @@@ gst_wayland_sink_set_caps (GstBaseSink 
    /* extract info from caps */
    if (!gst_video_info_from_caps (&info, caps))
      goto invalid_format;
 +#ifdef GST_WLSINK_ENHANCEMENT
 +  sink->caps = gst_caps_copy (caps);
 +#endif
  
-   format = gst_video_format_to_wayland_format (GST_VIDEO_INFO_FORMAT (&info));
+   format = gst_video_format_to_wl_shm_format (GST_VIDEO_INFO_FORMAT (&info));
    if ((gint) format == -1)
      goto invalid_format;
  
    if (i >= formats->len)
      goto unsupported_format;
  
 +#ifdef GST_WLSINK_ENHANCEMENT
 +  if (GST_VIDEO_INFO_FORMAT (&info) == GST_VIDEO_FORMAT_SN12 ||
 +      GST_VIDEO_INFO_FORMAT (&info) == GST_VIDEO_FORMAT_ST12) {
 +    sink->display->is_native_format = TRUE;
 +  } else {
 +    sink->display->is_native_format = FALSE;
 +
 +    /* create a new pool for the new configuration */
 +    newpool = gst_wayland_buffer_pool_new (sink->display);
 +    if (!newpool)
 +      goto pool_failed;
 +
 +    structure = gst_buffer_pool_get_config (newpool);
 +    gst_buffer_pool_config_set_params (structure, caps, info.size, 2, 0);
 +    gst_buffer_pool_config_set_allocator (structure, NULL, &params);
 +    if (!gst_buffer_pool_set_config (newpool, structure))
 +      goto config_failed;
 +
 +    gst_object_replace ((GstObject **) & sink->pool, (GstObject *) newpool);
 +    gst_object_unref (newpool);
 +
 +  }
 +  /* store the video info */
 +  sink->video_info = info;
 +  sink->video_info_changed = TRUE;
 +#else
    /* create a new pool for the new configuration */
-   newpool = gst_wayland_buffer_pool_new (sink->display);
+   newpool = gst_video_buffer_pool_new ();
    if (!newpool)
      goto pool_failed;
  
@@@ -805,82 -506,21 +768,23 @@@ config_failed
  static gboolean
  gst_wayland_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
  {
 +  FUNCTION_ENTER ();
 +
    GstWaylandSink *sink = GST_WAYLAND_SINK (bsink);
-   GstBufferPool *pool = NULL;
    GstStructure *config;
-   GstCaps *caps;
-   guint size;
-   gboolean need_pool;
-   if (sink->display->is_native_format == TRUE)
-     return TRUE;
-   gst_query_parse_allocation (query, &caps, &need_pool);
-   if (caps == NULL)
-     goto no_caps;
-   if (sink->pool)
-     pool = gst_object_ref (sink->pool);
-   if (pool != NULL) {
-     GstCaps *pcaps;
-     /* we had a pool, check caps */
-     config = gst_buffer_pool_get_config (pool);
-     gst_buffer_pool_config_get_params (config, &pcaps, &size, NULL, NULL);
-     if (!gst_caps_is_equal (caps, pcaps)) {
-       /* different caps, we can't use this pool */
-       gst_object_unref (pool);
-       pool = NULL;
-     }
-     gst_structure_free (config);
-   }
-   if (pool == NULL && need_pool) {
-     GstVideoInfo info;
+   guint size, min_bufs, max_bufs;
  
-     if (!gst_video_info_from_caps (&info, caps))
-       goto invalid_caps;
+   config = gst_buffer_pool_get_config (sink->pool);
+   gst_buffer_pool_config_get_params (config, NULL, &size, &min_bufs, &max_bufs);
  
-     GST_DEBUG_OBJECT (sink, "create new pool");
-     pool = gst_wayland_buffer_pool_new (sink->display);
+   /* we do have a pool for sure (created in set_caps),
+    * so let's propose it anyway, but also propose the allocator on its own */
+   gst_query_add_allocation_pool (query, sink->pool, size, min_bufs, max_bufs);
+   gst_query_add_allocation_param (query, gst_wl_shm_allocator_get (), NULL);
  
-     /* the normal size of a frame */
-     size = info.size;
-     config = gst_buffer_pool_get_config (pool);
-     gst_buffer_pool_config_set_params (config, caps, size, 2, 0);
-     if (!gst_buffer_pool_set_config (pool, config))
-       goto config_failed;
-   }
-   if (pool) {
-     gst_query_add_allocation_pool (query, pool, size, 2, 0);
-     gst_object_unref (pool);
-   }
+   gst_structure_free (config);
  
    return TRUE;
-   /* ERRORS */
- no_caps:
-   {
-     GST_DEBUG_OBJECT (bsink, "no caps specified");
-     return FALSE;
-   }
- invalid_caps:
-   {
-     GST_DEBUG_OBJECT (bsink, "invalid caps specified");
-     return FALSE;
-   }
- config_failed:
-   {
-     GST_DEBUG_OBJECT (bsink, "failed setting config");
-     gst_object_unref (pool);
-     return FALSE;
-   }
  }
  
  static GstFlowReturn
@@@ -945,19 -571,11 +839,19 @@@ render_last_buffer (GstWaylandSink * si
  static GstFlowReturn
  gst_wayland_sink_render (GstBaseSink * bsink, GstBuffer * buffer)
  {
 +  FUNCTION_ENTER ();
 +
    GstWaylandSink *sink = GST_WAYLAND_SINK (bsink);
    GstBuffer *to_render;
-   GstWlMeta *meta;
+   GstWlBuffer *wlbuffer;
    GstFlowReturn ret = GST_FLOW_OK;
  
 +#ifdef GST_WLSINK_ENHANCEMENT
 +  GstBufferPool *newpool;
 +  GstStructure *structure;
 +  static GstAllocationParams params = { 0, 0, 0, 15, };
 +#endif
 +
    g_mutex_lock (&sink->render_lock);
  
    GST_LOG_OBJECT (sink, "render buffer %p", buffer);
index 8021e59,8c5eeaf..d3734be
mode 100755,100644..100755
  #ifdef HAVE_CONFIG_H
  #include <config.h>
  #endif
 -
  #include "wldisplay.h"
+ #include "wlbuffer.h"
  #include <errno.h>
  
 +#ifdef GST_WLSINK_ENHANCEMENT
 +#include <fcntl.h>
 +#include <unistd.h>
 +#include <xf86drm.h>
 +#include <string.h>
 +#include <stdlib.h>
 +
 +static void
 +handle_tizen_video_format (void *data, struct tizen_video *tizen_video,
 +    uint32_t format)
 +{
 +  FUNCTION_ENTER ();
 +  GstWlDisplay *self = data;
 +
 +  g_return_if_fail (self != NULL);
 +
 +  GST_INFO ("format is %d", format);
 +  g_array_append_val (self->formats, format);
 +}
 +
 +static const struct tizen_video_listener tz_video_listener = {
 +  handle_tizen_video_format
 +};
 +#endif
 +
  GST_DEBUG_CATEGORY_EXTERN (gstwayland_debug);
  #define GST_CAT_DEFAULT gstwayland_debug
  
@@@ -67,10 -44,10 +69,12 @@@ gst_wl_display_class_init (GstWlDisplay
  static void
  gst_wl_display_init (GstWlDisplay * self)
  {
 +  FUNCTION_ENTER ();
 +
    self->formats = g_array_new (FALSE, FALSE, sizeof (uint32_t));
    self->wl_fd_poll = gst_poll_new (TRUE);
+   self->buffers = g_hash_table_new (g_direct_hash, g_direct_equal);
+   g_mutex_init (&self->buffers_mutex);
  }
  
  static void
@@@ -81,31 -56,26 +85,42 @@@ gst_wl_display_finalize (GObject * gobj
    GstWlDisplay *self = GST_WL_DISPLAY (gobject);
  
    gst_poll_set_flushing (self->wl_fd_poll, TRUE);
+   g_thread_join (self->thread);
+   /* to avoid buffers being unregistered from another thread
+    * at the same time, take their ownership */
+   g_mutex_lock (&self->buffers_mutex);
+   self->shutting_down = TRUE;
+   g_hash_table_foreach (self->buffers, (GHFunc) g_object_ref, NULL);
+   g_mutex_unlock (&self->buffers_mutex);
  
-   if (self->thread)
-     g_thread_join (self->thread);
+   g_hash_table_foreach (self->buffers,
+       (GHFunc) gst_wl_buffer_force_release_and_unref, NULL);
+   g_hash_table_remove_all (self->buffers);
  
 +#ifdef GST_WLSINK_ENHANCEMENT
 +  if (self->is_native_format == FALSE) {
 +    /*in case of normal video format */
 +    if (self->tbm_bo)
 +      tbm_bo_unref (self->tbm_bo);
 +    self->tbm_bo = NULL;
 +  }
 +  if (self->tbm_client) {
 +    wayland_tbm_client_deinit (self->tbm_client);
 +    self->tbm_client = NULL;
 +  }
 +  self->tbm_bufmgr = NULL;
 +#endif
 +
    g_array_unref (self->formats);
    gst_poll_free (self->wl_fd_poll);
+   g_hash_table_unref (self->buffers);
+   g_mutex_clear (&self->buffers_mutex);
  
 +#ifndef GST_WLSINK_ENHANCEMENT
    if (self->shm)
      wl_shm_destroy (self->shm);
 +#endif
  
    if (self->shell)
      wl_shell_destroy (self->shell);
index f782534,5505d60..1d3a1df
mode 100755,100644..100755
@@@ -93,8 -72,13 +80,12 @@@ struct _GstWlDisplayClas
  GType gst_wl_display_get_type (void);
  
  GstWlDisplay *gst_wl_display_new (const gchar * name, GError ** error);
 -GstWlDisplay *gst_wl_display_new_existing (struct wl_display * display,
 +GstWlDisplay *gst_wl_display_new_existing (struct wl_display *display,
      gboolean take_ownership, GError ** error);
  
+ /* see wlbuffer.c for explanation */
+ void gst_wl_display_register_buffer (GstWlDisplay * self, gpointer buf);
+ void gst_wl_display_unregister_buffer (GstWlDisplay * self, gpointer buf);
  G_END_DECLS
 -
  #endif /* __GST_WL_DISPLAY_H__ */
index 5309c34,1302da6..043f0a8
mode 100755,100644..100755
@@@ -106,9 -104,8 +106,9 @@@ gst_wl_shm_format_to_video_format (enu
  }
  
  const gchar *
- gst_wayland_format_to_string (enum wl_shm_format wl_format)
+ gst_wl_shm_format_to_string (enum wl_shm_format wl_format)
  {
    return gst_video_format_to_string
-       (gst_wayland_format_to_video_format (wl_format));
+       (gst_wl_shm_format_to_video_format (wl_format));
  }
 +#endif
index c03525b,e8ec7ae..8519999
mode 100755,100644..100755
  #ifndef __GST_WL_VIDEO_FORMAT_H__
  #define __GST_WL_VIDEO_FORMAT_H__
  
- #include <wayland-client.h>
+ #include <wayland-client-protocol.h>
  #include <gst/video/video.h>
  
 -G_BEGIN_DECLS
 +#ifndef GST_WLSINK_ENHANCEMENT
  
- G_BEGIN_DECLS
-     enum wl_shm_format gst_video_format_to_wayland_format (GstVideoFormat
-     format);
- GstVideoFormat gst_wayland_format_to_video_format (enum wl_shm_format
-     wl_format);
+ enum wl_shm_format gst_video_format_to_wl_shm_format (GstVideoFormat format);
+ GstVideoFormat gst_wl_shm_format_to_video_format (enum wl_shm_format wl_format);
  
- const gchar *gst_wayland_format_to_string (enum wl_shm_format wl_format);
+ const gchar *gst_wl_shm_format_to_string (enum wl_shm_format wl_format);
  
  G_END_DECLS
 -
 +#endif
  #endif
index 9c8e80a,a964335..ec79d68
mode 100755,100644..100755
@@@ -107,23 -96,60 +108,62 @@@ gst_wl_window_finalize (GObject * gobje
  }
  
  static GstWlWindow *
- gst_wl_window_new_internal (GstWlDisplay * display, struct wl_surface *surface)
+ gst_wl_window_new_internal (GstWlDisplay * display)
  {
 +  FUNCTION_ENTER ();
 +
    GstWlWindow *window;
+   GstVideoInfo info;
+   GstBuffer *buf;
+   GstMapInfo mapinfo;
+   struct wl_buffer *wlbuf;
+   GstWlBuffer *gwlbuf;
    struct wl_region *region;
  
-   g_return_val_if_fail (surface != NULL, NULL);
    window = g_object_new (GST_TYPE_WL_WINDOW, NULL);
    window->display = g_object_ref (display);
-   window->surface = surface;
  
-   /* make sure the surface runs on our local queue */
-   wl_proxy_set_queue ((struct wl_proxy *) surface, display->queue);
-   window->viewport = wl_scaler_get_viewport (display->scaler, window->surface);
+   window->area_surface = wl_compositor_create_surface (display->compositor);
+   window->video_surface = wl_compositor_create_surface (display->compositor);
+   wl_proxy_set_queue ((struct wl_proxy *) window->area_surface, display->queue);
+   wl_proxy_set_queue ((struct wl_proxy *) window->video_surface,
+       display->queue);
+   /* embed video_surface in area_surface */
+   window->video_subsurface =
+       wl_subcompositor_get_subsurface (display->subcompositor,
+       window->video_surface, window->area_surface);
+   wl_subsurface_set_desync (window->video_subsurface);
+   window->area_viewport = wl_scaler_get_viewport (display->scaler,
+       window->area_surface);
+   window->video_viewport = wl_scaler_get_viewport (display->scaler,
+       window->video_surface);
+   /* draw the area_subsurface */
+   gst_video_info_set_format (&info,
+       /* we want WL_SHM_FORMAT_XRGB8888 */
+ #if G_BYTE_ORDER == G_BIG_ENDIAN
+       GST_VIDEO_FORMAT_xRGB,
+ #else
+       GST_VIDEO_FORMAT_BGRx,
+ #endif
+       1, 1);
+   buf = gst_buffer_new_allocate (gst_wl_shm_allocator_get (), info.size, NULL);
+   gst_buffer_map (buf, &mapinfo, GST_MAP_WRITE);
+   *((guint32 *) mapinfo.data) = 0;      /* paint it black */
+   gst_buffer_unmap (buf, &mapinfo);
+   wlbuf =
+       gst_wl_shm_memory_construct_wl_buffer (gst_buffer_peek_memory (buf, 0),
+       display, &info);
+   gwlbuf = gst_buffer_add_wl_buffer (buf, wlbuf, display);
+   gst_wl_buffer_attach (gwlbuf, window->area_surface);
+   /* at this point, the GstWlBuffer keeps the buffer
+    * alive and will free it on wl_buffer::release */
+   gst_buffer_unref (buf);
  
    /* do not accept input */
    region = wl_compositor_create_region (display->compositor);
  }
  
  GstWlWindow *
- gst_wl_window_new_toplevel (GstWlDisplay * display, GstVideoInfo * video_info)
+ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info)
  {
 +  FUNCTION_ENTER ();
 +
    GstWlWindow *window;
+   gint width;
  
-   window = gst_wl_window_new_internal (display,
-       wl_compositor_create_surface (display->compositor));
-   gst_wl_window_set_video_info (window, video_info);
-   gst_wl_window_set_render_rectangle (window, 0, 0, window->video_width,
-       window->video_height);
+   window = gst_wl_window_new_internal (display);
  
+   /* go toplevel */
    window->shell_surface = wl_shell_get_shell_surface (display->shell,
-       window->surface);
+       window->area_surface);
  
    if (window->shell_surface) {
      wl_shell_surface_add_listener (window->shell_surface,
@@@ -168,23 -198,15 +214,19 @@@ GstWlWindow 
  gst_wl_window_new_in_surface (GstWlDisplay * display,
      struct wl_surface * parent)
  {
 +  FUNCTION_ENTER ();
 +
    GstWlWindow *window;
+   window = gst_wl_window_new_internal (display);
  
-   window = gst_wl_window_new_internal (display,
-       wl_compositor_create_surface (display->compositor));
-   window->subsurface = wl_subcompositor_get_subsurface (display->subcompositor,
-       window->surface, parent);
-   wl_subsurface_set_desync (window->subsurface);
- #ifdef GST_WLSINK_ENHANCEMENT
-   if (display->tizen_policy)
-     tizen_policy_place_subsurface_below_parent (display->tizen_policy,
-         window->subsurface);
+   /* embed in parent */
+   window->area_subsurface =
+       wl_subcompositor_get_subsurface (display->subcompositor,
+       window->area_surface, parent);
+   wl_subsurface_set_desync (window->area_subsurface);
  
 +  wl_surface_commit (parent);
 +#endif
    return window;
  }
  
@@@ -201,11 -221,9 +243,11 @@@ gst_wl_window_get_display (GstWlWindow 
  struct wl_surface *
  gst_wl_window_get_wl_surface (GstWlWindow * window)
  {
 +  FUNCTION_ENTER ();
 +
    g_return_val_if_fail (window != NULL, NULL);
  
-   return window->surface;
+   return window->video_surface;
  }
  
  gboolean
@@@ -219,191 -235,32 +261,111 @@@ gst_wl_window_is_toplevel (GstWlWindow 
  }
  
  static void
- gst_wl_window_resize_internal (GstWlWindow * window, gboolean commit)
+ gst_wl_window_resize_video_surface (GstWlWindow * window, gboolean commit)
  {
-   FUNCTION_ENTER ();
    GstVideoRectangle src = { 0, };
-   GstVideoRectangle res;        //dst
+   GstVideoRectangle res;
  
+   /* center the video_subsurface inside area_subsurface */
    src.w = window->video_width;
    src.h = window->video_height;
 -  gst_video_sink_center_rect (src, window->render_rectangle, &res, TRUE);
 +#ifdef GST_WLSINK_ENHANCEMENT   // need to change ifndef to ifdef
 +
 +  GstVideoRectangle src_origin = { 0, 0, 0, 0 };
 +  GstVideoRectangle src_input = { 0, 0, 0, 0 };
 +  GstVideoRectangle dst = { 0, 0, 0, 0 };
 +
 +  gint rotate = 0;
 +  gint transform = WL_OUTPUT_TRANSFORM_NORMAL;
 +
 +  src.x = src.y = 0;
 +  src_input.w = src_origin.w = window->video_width;
 +  src_input.h = src_origin.h = window->video_height;
 +  GST_INFO ("video (%d x %d)", window->video_width, window->video_height);
 +  GST_INFO ("src_input(%d, %d, %d x %d)", src_input.x, src_input.y, src_input.w,
 +      src_input.h);
 +  GST_INFO ("src_origin(%d, %d, %d x %d)", src_origin.x, src_origin.y,
 +      src_origin.w, src_origin.h);
 +
 +  if (window->rotate_angle == DEGREE_0 || window->rotate_angle == DEGREE_180) {
 +    src.w = window->video_width;        //video_width
 +    src.h = window->video_height;       //video_height
 +  } else {
 +    src.w = window->video_height;
 +    src.h = window->video_width;
 +  }
 +  GST_INFO ("src(%d, %d, %d x %d)", src.x, src.y, src.w, src.h);
 +
 +  /*default res.w and res.h */
 +  dst.w = window->render_rectangle.w;
 +  dst.h = window->render_rectangle.h;
 +  GST_INFO ("dst(%d,%d,%d x %d)", dst.x, dst.y, dst.w, dst.h);
 +  GST_INFO ("window->render_rectangle(%d,%d,%d x %d)",
 +      window->render_rectangle.x, window->render_rectangle.y,
 +      window->render_rectangle.w, window->render_rectangle.h);
 +  switch (window->disp_geo_method) {
 +    case DISP_GEO_METHOD_LETTER_BOX:
 +      GST_INFO ("DISP_GEO_METHOD_LETTER_BOX");
 +      gst_video_sink_center_rect (src, dst, &res, TRUE);
 +      gst_video_sink_center_rect (dst, src, &src_input, FALSE);
 +      res.x += window->render_rectangle.x;
 +      res.y += window->render_rectangle.y;
 +      break;
 +    case DISP_GEO_METHOD_ORIGIN_SIZE_OR_LETTER_BOX:
 +      if (src.w > dst.w || src.h > dst.h) {
 +        /*LETTER BOX */
 +        GST_INFO
 +            ("DISP_GEO_METHOD_ORIGIN_SIZE_OR_LETTER_BOX -> set LETTER BOX");
 +        gst_video_sink_center_rect (src, dst, &res, TRUE);
 +        gst_video_sink_center_rect (dst, src, &src_input, FALSE);
 +        res.x += window->render_rectangle.x;
 +        res.y += window->render_rectangle.y;
 +      } else {
 +        /*ORIGIN SIZE */
 +        GST_INFO ("DISP_GEO_METHOD_ORIGIN_SIZE");
 +        gst_video_sink_center_rect (src, dst, &res, FALSE);
 +        gst_video_sink_center_rect (dst, src, &src_input, FALSE);
 +      }
 +      break;
 +    case DISP_GEO_METHOD_ORIGIN_SIZE:  //is working
 +      GST_INFO ("DISP_GEO_METHOD_ORIGIN_SIZE");
 +      gst_video_sink_center_rect (src, dst, &res, FALSE);
 +      gst_video_sink_center_rect (dst, src, &src_input, FALSE);
 +      break;
 +    case DISP_GEO_METHOD_FULL_SCREEN:  //is working
 +      GST_INFO ("DISP_GEO_METHOD_FULL_SCREEN");
 +      res.x = res.y = 0;
 +      res.w = window->render_rectangle.w;
 +      res.h = window->render_rectangle.h;
 +      break;
 +    case DISP_GEO_METHOD_CROPPED_FULL_SCREEN:
 +      GST_INFO ("DISP_GEO_METHOD_CROPPED_FULL_SCREEN");
 +      gst_video_sink_center_rect (src, dst, &res, FALSE);
 +      gst_video_sink_center_rect (dst, src, &src_input, FALSE);
 +      res.x = res.y = 0;
 +      res.w = dst.w;
 +      res.h = dst.h;
 +      break;
 +    default:
 +      break;
 +  }
  
-   switch (window->rotate_angle) {
-     case DEGREE_0:
-       transform = WL_OUTPUT_TRANSFORM_NORMAL;
-       break;
-     case DEGREE_90:
-       transform = WL_OUTPUT_TRANSFORM_90;
-       break;
-     case DEGREE_180:
-       transform = WL_OUTPUT_TRANSFORM_180;
-       break;
-     case DEGREE_270:
-       transform = WL_OUTPUT_TRANSFORM_270;
-       break;
-     default:
-       GST_ERROR ("Unsupported rotation [%d]... set DEGREE 0.",
-           window->rotate_angle);
-       break;
-   }
-   switch (window->flip) {
-     case FLIP_NONE:
-       break;
-     case FLIP_VERTICAL:
-       transform = WL_OUTPUT_TRANSFORM_FLIPPED;
-       break;
-     case FLIP_HORIZONTAL:
-       transform = WL_OUTPUT_TRANSFORM_FLIPPED_180;
-       break;
-     case FLIP_BOTH:
-       transform = WL_OUTPUT_TRANSFORM_180;
-       break;
-     default:
-       GST_ERROR ("Unsupported flip [%d]... set FLIP_NONE.", window->flip);
-   }
-   GST_INFO
-       ("window[%d x %d] src[%d,%d,%d x %d],dst[%d,%d,%d x %d],input[%d,%d,%d x %d],result[%d,%d,%d x %d]",
-       window->render_rectangle.w, window->render_rectangle.h,
-       src.x, src.y, src.w, src.h,
-       dst.x, dst.y, dst.w, dst.h,
-       src_input.x, src_input.y, src_input.w, src_input.h,
-       res.x, res.y, res.w, res.h);
-   GST_INFO ("video (%d x %d)", window->video_width, window->video_height);
-   GST_INFO ("src_input(%d, %d, %d x %d)", src_input.x, src_input.y, src_input.w,
-       src_input.h);
-   GST_INFO ("src_origin(%d, %d, %d x %d)", src_origin.x, src_origin.y,
-       src_origin.w, src_origin.h);
-   GST_INFO ("src(%d, %d, %d x %d)", src.x, src.y, src.w, src.h);
-   GST_INFO ("dst(%d,%d,%d x %d)", dst.x, dst.y, dst.w, dst.h);
-   GST_INFO ("window->render_rectangle(%d,%d,%d x %d)",
-       window->render_rectangle.x, window->render_rectangle.y,
-       window->render_rectangle.w, window->render_rectangle.h);
-   GST_INFO ("res(%d, %d, %d x %d)", res.x, res.y, res.w, res.h);
-   if (window->subsurface) {
-     GST_INFO ("have window->subsurface");
-     wl_subsurface_set_position (window->subsurface,
-         window->render_rectangle.x + res.x, window->render_rectangle.y + res.y);
-     GST_INFO ("wl_subsurface_set_position(%d,%d)",
-         window->render_rectangle.x + res.x, window->render_rectangle.y + res.y);
-   }
-   wl_viewport_set_destination (window->viewport, res.w, res.h);
-   GST_INFO ("wl_viewport_set_destination(%d,%d)", res.w, res.h);
-   wl_viewport_set_source (window->viewport, wl_fixed_from_int (src_input.x),
-       wl_fixed_from_int (src_input.y), wl_fixed_from_int (src_input.w),
-       wl_fixed_from_int (src_input.h));
-   GST_INFO ("wl_viewport_set_source(%d,%d, %d x %d)", src_input.x, src_input.y,
-       src_input.w, src_input.h);
-   wl_surface_set_buffer_transform (window->surface, transform);
-   GST_INFO ("wl_surface_set_buffer_transform (%d)", transform);
+   wl_subsurface_set_position (window->video_subsurface, res.x, res.y);
+   wl_viewport_set_destination (window->video_viewport, res.w, res.h);
  
    if (commit) {
-     wl_surface_damage (window->surface, 0, 0, res.w, res.h);
-     wl_surface_commit (window->surface);
+     wl_surface_damage (window->video_surface, 0, 0, res.w, res.h);
+     wl_surface_commit (window->video_surface);
    }
  
-   /* this is saved for use in wl_surface_damage */
-   window->surface_width = res.w;
-   window->surface_height = res.h;
- #else
-   gst_video_sink_center_rect (src, window->render_rectangle, &res, TRUE);
-   if (window->subsurface)
-     wl_subsurface_set_position (window->subsurface,
-         window->render_rectangle.x + res.x, window->render_rectangle.y + res.y);
-   wl_viewport_set_destination (window->viewport, res.w, res.h);
+   if (gst_wl_window_is_toplevel (window)) {
+     struct wl_region *region;
  
-   if (commit) {
-     wl_surface_damage (window->surface, 0, 0, res.w, res.h);
-     wl_surface_commit (window->surface);
+     region = wl_compositor_create_region (window->display->compositor);
+     wl_region_add (region, 0, 0, window->render_rectangle.w,
+         window->render_rectangle.h);
+     wl_surface_set_input_region (window->area_surface, region);
+     wl_region_destroy (region);
    }
  
    /* this is saved for use in wl_surface_damage */
@@@ -440,45 -313,21 +421,60 @@@ gst_wl_window_set_render_rectangle (Gst
    window->render_rectangle.w = w;
    window->render_rectangle.h = h;
  
+   /* position the area inside the parent - needs a parent commit to apply */
+   if (window->area_subsurface)
+     wl_subsurface_set_position (window->area_subsurface, x, y);
+   /* change the size of the area */
+   wl_viewport_set_destination (window->area_viewport, w, h);
+   if (window->video_width != 0) {
+     wl_subsurface_set_sync (window->video_subsurface);
+     gst_wl_window_resize_video_surface (window, TRUE);
+   }
+   wl_surface_damage (window->area_surface, 0, 0, w, h);
+   wl_surface_commit (window->area_surface);
    if (window->video_width != 0)
-     gst_wl_window_resize_internal (window, TRUE);
+     wl_subsurface_set_desync (window->video_subsurface);
  }
 +
 +#ifdef GST_WLSINK_ENHANCEMENT
 +void
 +gst_wl_window_set_rotate_angle (GstWlWindow * window, guint rotate_angle)
 +{
 +  FUNCTION_ENTER ();
 +  g_return_if_fail (window != NULL);
 +  window->rotate_angle = rotate_angle;
 +  GST_INFO ("rotate_angle value is (%d)", window->rotate_angle);
 +
 +}
 +
 +void
 +gst_wl_window_set_disp_geo_method (GstWlWindow * window, guint disp_geo_method)
 +{
 +  FUNCTION_ENTER ();
 +  g_return_if_fail (window != NULL);
 +  window->disp_geo_method = disp_geo_method;
 +  GST_INFO ("disp_geo_method value is (%d)", window->disp_geo_method);
 +}
 +
 +void
 +gst_wl_window_set_orientation (GstWlWindow * window, guint orientation)
 +{
 +  FUNCTION_ENTER ();
 +  g_return_if_fail (window != NULL);
 +  window->orientation = orientation;
 +  GST_INFO ("orientation value is (%d)", window->orientation);
 +}
 +
 +void
 +gst_wl_window_set_flip (GstWlWindow * window, guint flip)
 +{
 +  FUNCTION_ENTER ();
 +  g_return_if_fail (window != NULL);
 +  window->flip = flip;
 +  GST_INFO ("flip value is (%d)", window->flip);
 +}
 +#endif
index 3dc3cda,e22cb26..0506e96
mode 100755,100644..100755
@@@ -53,15 -54,8 +57,15 @@@ struct _GstWlWindo
    GstVideoRectangle render_rectangle;
    /* the size of the video in the buffers */
    gint video_width, video_height;
-   /* the size of the (sub)surface */
+   /* the size of the video_(sub)surface */
    gint surface_width, surface_height;
 +#ifdef GST_WLSINK_ENHANCEMENT
 +  /*Display geometry method */
 +  guint disp_geo_method;
 +  guint rotate_angle;
 +  guint orientation;
 +  guint flip;
 +#endif
  };
  
  struct _GstWlWindowClass
  GType gst_wl_window_get_type (void);
  
  GstWlWindow *gst_wl_window_new_toplevel (GstWlDisplay * display,
-     GstVideoInfo * video_info);
+         const GstVideoInfo * info);
  GstWlWindow *gst_wl_window_new_in_surface (GstWlDisplay * display,
 -        struct wl_surface * parent);
 +    struct wl_surface *parent);
  
  GstWlDisplay *gst_wl_window_get_display (GstWlWindow * window);
  struct wl_surface *gst_wl_window_get_wl_surface (GstWlWindow * window);
 -gboolean gst_wl_window_is_toplevel (GstWlWindow *window);
 +gboolean gst_wl_window_is_toplevel (GstWlWindow * window);
  
- /* functions to manipulate the size on non-toplevel windows */
void gst_wl_window_set_video_info (GstWlWindow * window, GstVideoInfo * info);
+ void gst_wl_window_render (GstWlWindow * window, GstWlBuffer * buffer,
        const GstVideoInfo * info);
  void gst_wl_window_set_render_rectangle (GstWlWindow * window, gint x, gint y,
 -        gint w, gint h);
 +    gint w, gint h);
  
 -G_END_DECLS
 +#ifdef GST_WLSINK_ENHANCEMENT
 +void gst_wl_window_set_rotate_angle (GstWlWindow * window, guint rotate_angle);
 +void gst_wl_window_set_disp_geo_method (GstWlWindow * window,
 +    guint disp_geo_method);
 +void gst_wl_window_set_orientation (GstWlWindow * window, guint orientation);
 +void gst_wl_window_set_flip (GstWlWindow * window, guint flip);
 +#endif
  
 +
 +G_END_DECLS
  #endif /* __GST_WL_WINDOW_H__ */
@@@ -804,9 -822,12 +822,12 @@@ gst_ps_demux_handle_dvd_event (GstPsDem
            continue;
        }
  
+       if (temp == NULL)
+         continue;
        g_snprintf (cur_stream_name, 32, "audio-%d-language", i);
        lang_code = gst_structure_get_string (structure, cur_stream_name);
 -      if (lang_code) {
 +      if (lang_code && temp) {
          GstTagList *list = temp->pending_tags;
  
          if (!list)
Simple merge
@@@ -599,11 -590,8 +590,10 @@@ mpegtsmux_create_stream (MpegTsMux * mu
        GST_PTR_FORMAT, ts_data->pid, caps);
  
    s = gst_caps_get_structure (caps, 0);
-   g_return_val_if_fail (s != NULL, GST_FLOW_ERROR);
  
    mt = gst_structure_get_name (s);
 +  g_return_val_if_fail (mt != NULL, GST_FLOW_ERROR);
 +
    value = gst_structure_get_value (s, "codec_data");
    if (value != NULL)
      codec_data = gst_value_get_buffer (value);
diff --cc po/af.po
+++ b/po/af.po
@@@ -16,101 -16,101 +16,190 @@@ msgstr "
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  
- msgid "Internal data stream error."
+ msgid "format wasn't negotiated before get function"
  msgstr ""
  
- msgid "format wasn't negotiated before get function"
+ msgid "default GStreamer sound events audiosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr ""
+ msgid "Describes the selected audiosink element."
+ msgstr ""
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "default GStreamer videosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosink"
+ msgstr ""
+ msgid "Describes the selected videosink element."
+ msgstr ""
+ msgid "default GStreamer audiosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer audiosrc"
+ msgstr ""
+ msgid "Describes the selected audiosrc element."
+ msgstr ""
+ msgid "default GStreamer videosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosrc"
+ msgstr ""
+ msgid "Describes the selected videosrc element."
+ msgstr ""
+ msgid "default GStreamer visualization"
+ msgstr ""
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ msgid "description for default GStreamer visualization"
+ msgstr ""
+ msgid "Describes the selected visualization element."
+ msgstr ""
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  #, fuzzy
  msgid "Could not read title information for DVD."
  msgstr "Kon nie skryf na lêer \"%s\" nie."
diff --cc po/az.po
+++ b/po/az.po
@@@ -17,101 -17,101 +17,190 @@@ msgstr "
  "Content-Transfer-Encoding: 8bit\n"
  "X-Generator: KBabel 1.0.2\n"
  
- msgid "Internal data stream error."
+ msgid "format wasn't negotiated before get function"
  msgstr ""
  
- msgid "format wasn't negotiated before get function"
+ msgid "default GStreamer sound events audiosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr ""
+ msgid "Describes the selected audiosink element."
+ msgstr ""
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "default GStreamer videosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosink"
+ msgstr ""
+ msgid "Describes the selected videosink element."
+ msgstr ""
+ msgid "default GStreamer audiosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer audiosrc"
+ msgstr ""
+ msgid "Describes the selected audiosrc element."
+ msgstr ""
+ msgid "default GStreamer videosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosrc"
+ msgstr ""
+ msgid "Describes the selected videosrc element."
+ msgstr ""
+ msgid "default GStreamer visualization"
+ msgstr ""
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ msgid "description for default GStreamer visualization"
+ msgstr ""
+ msgid "Describes the selected visualization element."
+ msgstr ""
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  #, fuzzy
  msgid "Could not read title information for DVD."
  msgstr "\"%s\" faylına yazıla bilmədi."
diff --cc po/cs.po
+++ b/po/cs.po
@@@ -20,103 -20,121 +20,210 @@@ msgstr "
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
- "X-Generator: Gtranslator 2.91.6\n"
- msgid "Internal data stream error."
- msgstr "Chyba proudu vnitřních dat."
+ "X-Generator: Gtranslator 2.91.7\n"
  
  msgid "format wasn't negotiated before get function"
+ msgstr "formát nebyl vyjednán před získáním funkce"
+ msgid "default GStreamer sound events audiosink"
+ msgstr "výchozí zvukový cíl GStreamer pro zvukové události"
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ "GStreamer umí přehrávat zvuk pomocí mnoha výstupních prvků. Možné volby jsou "
+ "osssink, pulsesink a alsasink. Zvukovým cílem může být namísto jednoho "
+ "elementu i částečná roura."
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr "popis výchozího zvukového cíle pro zvukové události GStreamer"
+ msgid "Describes the selected audiosink element."
+ msgstr "Popisuje vybraný element sloužící jako cíl pro zvuk."
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr "výchozí zvukový cíl GStreamer pro hlasové konference a videokonference"
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ "popis výchozího zvukového cíle GStreamer pro hlasové konference a "
+ "videokonference"
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr "výchozí zvukový cíl GStreamer pro hudbu a filmy"
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr "popis výchozího zvukového cíle GStreamer pro hudbu a filmy"
+ msgid "default GStreamer videosink"
+ msgstr "výchozí cíl videa GStreamer"
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ "GStreamer umí přehrávat video pomocí mnoha výstupních prvků. Možné volby "
+ "jsou xvimagesink, ximagesink, sdlvideosink a aasink. Cílem videa může být "
+ "namísto právě jednoho elementu i částečná roura."
+ msgid "description for default GStreamer videosink"
+ msgstr "popis výchozího cíle videa GStreamer"
+ msgid "Describes the selected videosink element."
+ msgstr "Popisuje vybraný element sloužící jako cíl pro video."
+ msgid "default GStreamer audiosrc"
+ msgstr "výchozí zdroj zvuku GStreamer"
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ "GStreamer umí nahrávat zvuk pomocí mnoha vstupních prvků. Možné volby jsou "
+ "osssrc, pulsesrc a alsasrc. Zvukovým zdrojem může být namísto právě jednoho "
+ "elementu i částečná roura."
+ msgid "description for default GStreamer audiosrc"
+ msgstr "popis pro výchozí zdroj zvuku GStreamer"
+ msgid "Describes the selected audiosrc element."
+ msgstr "Popisuje vybraný element sloužící jako zdroj zvuku."
+ msgid "default GStreamer videosrc"
+ msgstr "výchozí zdroj videa GStreamer"
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
  msgstr ""
+ "GStreamer umí nahrávat video pomocí mnoha vstupních prvků. Možné volby jsou "
+ "v4lsrc, v4l2src a videotestsrc. Zdrojem videa může být namísto právě jednoho "
+ "elementu i částečná roura."
+ msgid "description for default GStreamer videosrc"
+ msgstr "popis pro výchozí zdroj videa GStreamer"
+ msgid "Describes the selected videosrc element."
+ msgstr "Popisuje vybraný element sloužící jako zdroj videa."
+ msgid "default GStreamer visualization"
+ msgstr "výchozí vizualizace GStreamer"
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ "GStreamer umí do roury vložit vizualizační zásuvný modul, aby prováděl změny "
+ "zvukových proudů ve snímcích videa. Možné volby jsou goom, goom2k1 a "
+ "synaesthesia. Vizualizačním zásuvným modulem může být namísto právě jednoho "
+ "elementu i částečná roura."
+ msgid "description for default GStreamer visualization"
+ msgstr "popis pro výchozí vizualizaci GStreamer"
+ msgid "Describes the selected visualization element."
+ msgstr "Popisuje vybraný vizualizační element."
+ msgid "OpenCV failed to load template image"
+ msgstr "OpenCV selhalo při načítání obrazu šablony"
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  msgid "Could not read title information for DVD."
  msgstr "Nezdařilo se přečtení informací o titulu DVD."
  
diff --cc po/da.po
+++ b/po/da.po
@@@ -17,101 -17,118 +17,207 @@@ msgstr "
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  
- msgid "Internal data stream error."
- msgstr "Intern datastrømfejl."
  msgid "format wasn't negotiated before get function"
+ msgstr "format blev ikke forhandlet før hent funktion"
+ msgid "default GStreamer sound events audiosink"
+ msgstr "standardlydkanal for GStreamers lydhændelser"
+ #, fuzzy
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ "GStreamer kan afspille lyd via et antal udgangselementer. Nogle mulige valg "
+ "er osssink, pulsesink og alsasink. Lydudgangen kan være en delvis datakanal "
+ "i stedet for bare et element."
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr "beskrivelse af standardlydkanal for GStreamers lydhændelser"
+ msgid "Describes the selected audiosink element."
+ msgstr "Beskriver det valge lydkanalelement."
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr "standardlydkanal til GStreamers lyd/video-konference"
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr "beskrivelse for standardlydkanal til GStreamers lyd/video-konference"
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr "standardlydkanal til GStreamers musik og film"
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr "beskrivelse for standardlydkanal til GStreamers musik og film"
+ msgid "default GStreamer videosink"
+ msgstr "standardlydkanal for GStreamer"
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ "GStreamer kan afspille video via et antal udgangselementer. Nogle mulige "
+ "valg er xvimagesink, ximagesink, sdlvideosink og aasink. Videoudgangen kan "
+ "være en delvis datakanal i stedet for bare et element."
+ msgid "description for default GStreamer videosink"
+ msgstr "beskrivelse for standardvideokanal for GStreamer"
+ msgid "Describes the selected videosink element."
+ msgstr "Beskriver den valgte videokanalselement."
+ msgid "default GStreamer audiosrc"
+ msgstr "standardlydoptagelse for GStreamer"
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ "GStreamer kan optage lyd via et antal indgangselementer. Nogle mulige valg "
+ "er osssrc, pulsesrc og alsasrc. Lydkilden kan være en delvis datakanal i "
+ "stedet for bare et element."
+ msgid "description for default GStreamer audiosrc"
+ msgstr "beskrivelse for standardlydoptagelsen til GStreamer"
+ msgid "Describes the selected audiosrc element."
+ msgstr "Beskriver det valgte lydoptagelseselement."
+ msgid "default GStreamer videosrc"
+ msgstr "standardvideooptager for GStreamer"
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ "GStreamer kan optage video via et antal indgangselementer. Nogle mulige valg "
+ "er v4lsrc, v4l2src og videotestsrc. Videokilden kan være en delvis datakanal "
+ "i stedet for bare et element."
+ msgid "description for default GStreamer videosrc"
+ msgstr "beskrivelse for standardvideooptageren til GStreamer"
+ msgid "Describes the selected videosrc element."
+ msgstr "Beskriver det valgte videooptagerelement."
+ msgid "default GStreamer visualization"
+ msgstr "Standardvisualisering for GStreamer"
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ "GStreamer kan placere visualiseringsudvidelsesmoduler i en datakanal for at "
+ "transformere lydstrømme i videobilleder. Nogle mulige valg er goom, goom2k1 "
+ "og synaesthesia. Visualiseringsudvidelsesmodulerne kan være en delvis "
+ "datakanal i stedet for bare et element."
+ msgid "description for default GStreamer visualization"
+ msgstr "beskrivelse for standardvisualisering til GStreamer"
+ msgid "Describes the selected visualization element."
+ msgstr "Beskriver det valgte visualiseringselement."
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  msgid "Could not read title information for DVD."
  msgstr "Kunne ikke læse titelinformation for dvd."
  
diff --cc po/en_GB.po
@@@ -15,101 -15,101 +15,190 @@@ msgstr "
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  
- msgid "Internal data stream error."
+ msgid "format wasn't negotiated before get function"
  msgstr ""
  
- msgid "format wasn't negotiated before get function"
+ msgid "default GStreamer sound events audiosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr ""
+ msgid "Describes the selected audiosink element."
+ msgstr ""
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "default GStreamer videosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosink"
+ msgstr ""
+ msgid "Describes the selected videosink element."
+ msgstr ""
+ msgid "default GStreamer audiosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer audiosrc"
+ msgstr ""
+ msgid "Describes the selected audiosrc element."
+ msgstr ""
+ msgid "default GStreamer videosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosrc"
+ msgstr ""
+ msgid "Describes the selected videosrc element."
+ msgstr ""
+ msgid "default GStreamer visualization"
+ msgstr ""
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ msgid "description for default GStreamer visualization"
+ msgstr ""
+ msgid "Describes the selected visualization element."
+ msgstr ""
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  #, fuzzy
  msgid "Could not read title information for DVD."
  msgstr "Could not write to file \"%s\"."
diff --cc po/fr.po
+++ b/po/fr.po
@@@ -17,101 -18,101 +18,190 @@@ msgstr "
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  
- msgid "Internal data stream error."
- msgstr "Erreur interne de flux de données."
  msgid "format wasn't negotiated before get function"
+ msgstr "Format non négocié avant l'appel de la fonction get"
+ msgid "default GStreamer sound events audiosink"
+ msgstr "sons par défaut audiosink des événements GStreamer"
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr "description des sons par défaut audiosink des événements GStreamer"
+ msgid "Describes the selected audiosink element."
+ msgstr ""
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "default GStreamer videosink"
+ msgstr "videosink GStreamer par défaut"
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosink"
+ msgstr ""
+ msgid "Describes the selected videosink element."
+ msgstr ""
+ msgid "default GStreamer audiosrc"
+ msgstr "audiosrc GStreamer par défaut"
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer audiosrc"
+ msgstr ""
+ msgid "Describes the selected audiosrc element."
+ msgstr ""
+ msgid "default GStreamer videosrc"
+ msgstr "videosrc GStreamer par défaut"
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosrc"
+ msgstr ""
+ msgid "Describes the selected videosrc element."
+ msgstr ""
+ msgid "default GStreamer visualization"
+ msgstr "aperçu GStreamer par défaut"
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ msgid "description for default GStreamer visualization"
+ msgstr "description de l’aperçu GStreamer par défaut"
+ msgid "Describes the selected visualization element."
+ msgstr ""
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  msgid "Could not read title information for DVD."
  msgstr "Impossible de lire les informations de titre du DVD."
  
diff --cc po/or.po
+++ b/po/or.po
@@@ -17,101 -17,101 +17,190 @@@ msgstr "
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  
- msgid "Internal data stream error."
+ msgid "format wasn't negotiated before get function"
  msgstr ""
  
- msgid "format wasn't negotiated before get function"
+ msgid "default GStreamer sound events audiosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr ""
+ msgid "Describes the selected audiosink element."
+ msgstr ""
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "default GStreamer videosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosink"
+ msgstr ""
+ msgid "Describes the selected videosink element."
+ msgstr ""
+ msgid "default GStreamer audiosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer audiosrc"
+ msgstr ""
+ msgid "Describes the selected audiosrc element."
+ msgstr ""
+ msgid "default GStreamer videosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosrc"
+ msgstr ""
+ msgid "Describes the selected videosrc element."
+ msgstr ""
+ msgid "default GStreamer visualization"
+ msgstr ""
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ msgid "description for default GStreamer visualization"
+ msgstr ""
+ msgid "Describes the selected visualization element."
+ msgstr ""
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  #, fuzzy
  msgid "Could not read title information for DVD."
  msgstr "\"%s\" ଫାଇଲ ଲେଖିହେଲା ନାହିଁ."
diff --cc po/pt_BR.po
@@@ -19,101 -19,126 +19,215 @@@ msgstr "
  "Content-Transfer-Encoding: 8bit\n"
  "Plural-Forms: nplurals=2; plural=(n > 1);\n"
  
- msgid "Internal data stream error."
- msgstr "Erro interno de fluxo de dados."
  msgid "format wasn't negotiated before get function"
+ msgstr "O formato não foi negociado antes da chamada da função"
+ msgid "default GStreamer sound events audiosink"
+ msgstr "audiosink do GStreamer pré-definido para eventos de som"
+ #, fuzzy
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ "O GStreamer pode reproduzir áudio utilizando qualquer quantidade de "
+ "elementos de saída. Algumas das opções possíveis são osssink, pulsesink e "
+ "alsasink. O audiosink pode ser uma fila de processamento parcial em vez de "
+ "apenas um elemento."
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr ""
+ "descrição para o audiosink do GStreamer pré-definido para eventos de som"
+ msgid "Describes the selected audiosink element."
+ msgstr "Descreve o elemento audiosink selecionado."
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr "audiosink do GStreamer pré-definido para Conferência de Áudio e Vídeo"
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ "descrição do audiosink do GStreamer pré-definido para Conferência de Áudio e "
+ "Vídeo"
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr "audiosink do GStreamer pré-definido para Músicas e Filmes"
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ "descrição para o audiosink do GStreamer pré-definido para Músicas e Filmes"
+ msgid "default GStreamer videosink"
+ msgstr "videosink do GStreamer pré-definido"
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ "O GStreamer pode reproduzir vídeo utilizando qualquer quantidade de "
+ "elementos de saída. Algumas das opções possíveis são xvimagesink, "
+ "ximagesink, sdlvideosink e aasink. O videosink pode ser uma fila de "
+ "processamento parcial em vez de apenas um elemento."
+ msgid "description for default GStreamer videosink"
+ msgstr "descrição para o videosink do GStreamer pré-definido"
+ msgid "Describes the selected videosink element."
+ msgstr "Descreve o elemento videosink selecionado."
+ msgid "default GStreamer audiosrc"
+ msgstr "audiosrc do GStreamer pré-definido"
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ "O GStreamer pode gravar áudio utilizando qualquer quantidade de elementos de "
+ "entrada. Algumas das opções possíveis são osssrc, pulsesrc e alsasrc. A "
+ "fonte de áudio pode ser uma fila de processamento parcial em vez de apenas "
+ "um elemento."
+ msgid "description for default GStreamer audiosrc"
+ msgstr "descrição para o audiosrc do GStreamer pré-definido"
+ msgid "Describes the selected audiosrc element."
+ msgstr "Descreve o elemento audiosrc selecionado."
+ msgid "default GStreamer videosrc"
+ msgstr "videosrc do GStreamer pré-definido"
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ "O GStreamer pode gravar vídeo de qualquer quantidade de elementos de "
+ "entrada. Algumas das opções possíveis são v4lsrc, v4l2src e videotestsrc. A "
+ "fonte de vídeo pode ser uma fila de processamento parcial em vez de apenas "
+ "um elemento."
+ msgid "description for default GStreamer videosrc"
+ msgstr "descrição para o videosrc do GStreamer pré-definido"
+ msgid "Describes the selected videosrc element."
+ msgstr "Descreve o elemento videosrc selecionado."
+ msgid "default GStreamer visualization"
+ msgstr "visualização do GStreamer pré-definida"
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ "O GStreamer pode colocar plugins de visualização numa fila de processamento "
+ "para transformar fluxos de áudio em quadros de vídeo. Algumas das opções "
+ "possíveis são goom, goom2k1 e synaesthesia. O plugin de visualização pode "
+ "ser uma fila de processamento parcial em vez de apenas um elemento."
+ msgid "description for default GStreamer visualization"
+ msgstr "descrição da visualização do GStreamer pré-definida"
+ msgid "Describes the selected visualization element."
+ msgstr "Descreve o elemento de visualização selecionado."
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  msgid "Could not read title information for DVD."
  msgstr "Não foi possível ler as informações de título do DVD."
  
diff --cc po/sr.po
+++ b/po/sr.po
@@@ -18,101 -18,119 +18,208 @@@ msgstr "
  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
  "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
  
- msgid "Internal data stream error."
- msgstr "Унутрашња грешка тока података."
  msgid "format wasn't negotiated before get function"
+ msgstr "запис није договорен пре функције добављања (get)"
+ msgid "default GStreamer sound events audiosink"
+ msgstr "основни аудио усклађивач звучних догађаја Гстримера"
+ #, fuzzy
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ "Гстример може да пушта аудио користећи било који број излазних елемената. "
+ "Неки могући избори су „osssink“, „pulsesink“ и „alsasink“. Аудио усклађивач "
+ "може бити делимична спојка уместо само једног елемента."
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr "опис основног аудио усклађивача звучних догађаја Гстримера"
+ msgid "Describes the selected audiosink element."
+ msgstr "Описује изабрани елемент аудио усклађивача."
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr "основни аудио усклађивач Гстримера за аудио/видео састанчење"
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr "опис основног аудио усклађивач Гстримера за аудио/видео састанчење"
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr "основни аудио усклађивач Гстримера за музику и филмове"
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr "опис основног аудио усклађивача Гстримера за музику и филмове"
+ msgid "default GStreamer videosink"
+ msgstr "основни видео усклађивач Гстримера"
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ "Гстример може да пушта видео користећи било који број излазних елемената. "
+ "Неки могући избори су „xvimagesink“, „ximagesink“, „sdlvideosink“ и "
+ "„aasink“. Видео усклађивач може бити делимична спојка уместо само једног "
+ "елемента."
+ msgid "description for default GStreamer videosink"
+ msgstr "опис основног видео усклађивача Гстримера"
+ msgid "Describes the selected videosink element."
+ msgstr "Описује изабрани елемент видео усклађивача."
+ msgid "default GStreamer audiosrc"
+ msgstr "основни аудио извор Гстримера"
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ "Гстример може да снима аудио користећи било који број излазних елемената. "
+ "Неки могући избори су „osssrc“, „pulsesrc“ и „alsasrc“. Извор звука може "
+ "бити делимична спојка уместо само једног елемента."
+ msgid "description for default GStreamer audiosrc"
+ msgstr "опис основног аудио извора Гстримера"
+ msgid "Describes the selected audiosrc element."
+ msgstr "Описује изабрани елемент аудио извора."
+ msgid "default GStreamer videosrc"
+ msgstr "основни видео извор Гстримера"
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ "Гстример може да снима видео користећи било који број излазних елемената. "
+ "Неки могући избори су „v4lsrc“, „v4l2src“ и “videotestsrc“. Извор видеа може "
+ "бити делимична спојка уместо само једног елемента."
+ msgid "description for default GStreamer videosrc"
+ msgstr "опис основног видео извора Гстримера"
+ msgid "Describes the selected videosrc element."
+ msgstr "Описује изабрани елемент видео извора."
+ msgid "default GStreamer visualization"
+ msgstr "основно приказивање Гстримера"
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ "Гстример може да стави прикључке приказивања у спојку да претвори аудио "
+ "токове у видео кадрове. Неки могући избори су „goom“, „goom2k1“ и "
+ "„synaesthesia“. Прикључак приказивања може бити делимична спојка уместо само "
+ "једног елемента."
+ msgid "description for default GStreamer visualization"
+ msgstr "опис основног приказивања Гстримера"
+ msgid "Describes the selected visualization element."
+ msgstr "Описује изабрани елемент приказивања."
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  msgid "Could not read title information for DVD."
  msgstr "Не могу да прочитам информације о наслову ДВД-а."
  
diff --cc po/tr.po
+++ b/po/tr.po
@@@ -14,103 -15,104 +15,193 @@@ msgstr "
  "MIME-Version: 1.0\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
- "X-Generator: KBabel 1.11.4\n"
- msgid "Internal data stream error."
- msgstr "İç veri akım hatası."
+ "X-Generator: Lokalize 1.5\n"
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
  
  msgid "format wasn't negotiated before get function"
+ msgstr "get fonksiyonundan önce biçim görüşülemedi"
+ msgid "default GStreamer sound events audiosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play audio using any number of output elements. Some possible "
+ "choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer sound events audiosink"
+ msgstr ""
+ msgid "Describes the selected audiosink element."
+ msgstr ""
+ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid ""
+ "description for default GStreamer audiosink for Audio/Video Conferencing"
+ msgstr ""
+ msgid "default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "description for default GStreamer audiosink for Music and Movies"
+ msgstr ""
+ msgid "default GStreamer videosink"
+ msgstr ""
+ msgid ""
+ "GStreamer can play video using any number of output elements. Some possible "
+ "choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
+ "can be a partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosink"
+ msgstr ""
+ msgid "Describes the selected videosink element."
+ msgstr ""
+ msgid "default GStreamer audiosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record audio using any number of input elements. Some possible "
+ "choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
+ "pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer audiosrc"
+ msgstr ""
+ msgid "Describes the selected audiosrc element."
+ msgstr ""
+ msgid "default GStreamer videosrc"
+ msgstr ""
+ msgid ""
+ "GStreamer can record video from any number of input elements. Some possible "
+ "choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
+ "partial pipeline instead of just one element."
+ msgstr ""
+ msgid "description for default GStreamer videosrc"
+ msgstr ""
+ msgid "Describes the selected videosrc element."
+ msgstr ""
+ msgid "default GStreamer visualization"
+ msgstr ""
+ msgid ""
+ "GStreamer can put visualization plugins in a pipeline to transform audio "
+ "streams in video frames. Some possible choices are goom, goom2k1 and "
+ "synaesthesia. The visualization plugin can be a partial pipeline instead of "
+ "just one element."
+ msgstr ""
+ msgid "description for default GStreamer visualization"
+ msgstr ""
+ msgid "Describes the selected visualization element."
+ msgstr ""
+ msgid "OpenCV failed to load template image"
  msgstr ""
  
 +msgid "default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play audio using any number of output elements. Some possible "
 +"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
 +"pipeline instea of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer sound events audiosink"
 +msgstr ""
 +
 +msgid "Describes the selected audiosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid ""
 +"description for default GStreamer audiosink for Audio/Video Conferencing"
 +msgstr ""
 +
 +msgid "default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosink for Music and Movies"
 +msgstr ""
 +
 +msgid "default GStreamer videosink"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can play video using any number of output elements. Some possible "
 +"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
 +"can be a partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosink"
 +msgstr ""
 +
 +msgid "Describes the selected videosink element."
 +msgstr ""
 +
 +msgid "default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record audio using any number of input elements. Some possible "
 +"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
 +"pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer audiosrc"
 +msgstr ""
 +
 +msgid "Describes the selected audiosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer videosrc"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can record video from any number of input elements. Some possible "
 +"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
 +"partial pipeline instead of just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer videosrc"
 +msgstr ""
 +
 +msgid "Describes the selected videosrc element."
 +msgstr ""
 +
 +msgid "default GStreamer visualization"
 +msgstr ""
 +
 +msgid ""
 +"GStreamer can put visualization plugins in a pipeline to transform audio "
 +"streams in video frames. Some possible choices are goom, goom2k1 and "
 +"synaesthesia. The visualization plugin can be a partial pipeline instead of "
 +"just one element."
 +msgstr ""
 +
 +msgid "description for default GStreamer visualization"
 +msgstr ""
 +
 +msgid "Describes the selected visualization element."
 +msgstr ""
 +
  msgid "Could not read title information for DVD."
  msgstr "DVD'deki başlık bilgisi okunamıyor."
  
Simple merge
@@@ -136,15 -131,13 +134,21 @@@ gst_shm_src_class_init (GstShmSrcClass 
        g_param_spec_boolean ("is-live", "Is this a live source",
            "True if the element cannot produce data in PAUSED", FALSE,
            G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 +#ifdef GST_TBM_SUPPORT
 +  g_object_class_install_property (gobject_class, PROP_USE_TBM,
 +      g_param_spec_boolean ("use-tbm",
 +          "Use of not the tizen buffer",
 +          "Flags of using tizen buffer",
 +          FALSE,
 +          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 +#endif
  
+   g_object_class_install_property (gobject_class, PROP_SHM_AREA_NAME,
+       g_param_spec_string ("shm-area-name",
+           "Name of the shared memory area",
+           "The name of the shared memory area used to get buffers",
+           NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
    gst_element_class_add_pad_template (gstelement_class,
        gst_static_pad_template_get (&srctemplate));