[-]
[+]
|
Changed |
_service:tar_git:nemo-gst-interfaces.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:nemo-gst-interfaces.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,7 +2,7 @@
<services>
<service name="tar_git">
<param name="url">https://github.com/nemomobile/nemo-gst-interfaces.git</param>
- <param name="branch">master</param>
+ <param name="branch">gstreamer1</param>
<param name="token"></param>
<param name="debian"></param>
<param name="dumb"></param>
|
[-]
[+]
|
Changed |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/Makefile.am
^
|
@@ -1,8 +1,8 @@
SUBDIRS = gst-libs
EXTRA_DIST = autogen.sh \
- nemo-gstreamer-interfaces-0.10.pc.in \
- nemo-gstreamer-interfaces-0.10.pc
+ nemo-gstreamer-interfaces-1.0.pc.in \
+ nemo-gstreamer-interfaces-1.0.pc
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = nemo-gstreamer-interfaces-0.10.pc
+pkgconfig_DATA = nemo-gstreamer-interfaces-1.0.pc nemo-gstreamer-meta-1.0.pc
|
[-]
[+]
|
Changed |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/configure.ac
^
|
@@ -1,11 +1,11 @@
dnl required version of autoconf
AC_PREREQ([2.53])
-AC_INIT([nemo-gst-interfaces],[0.10.0])
+AC_INIT([nemo-gst-interfaces],[1.0.0])
dnl required versions of gstreamer and plugins-base
-GST_REQUIRED=0.10.16
-GSTPB_REQUIRED=0.10.16
+GST_REQUIRED=1.0
+GSTPB_REQUIRED=1.0
AC_CONFIG_SRCDIR([gst-libs/Makefile.am])
AC_CONFIG_HEADERS([config.h])
@@ -31,18 +31,16 @@
dnl Check for the required version of GStreamer core (and gst-plugins-base)
dnl This will export GST_CFLAGS and GST_LIBS variables for use in Makefile.am
PKG_CHECK_MODULES(GST, [
- gstreamer-0.10 >= $GST_REQUIRED
- gstreamer-base-0.10 >= $GST_REQUIRED
+ gstreamer-1.0 >= $GST_REQUIRED
+ gstreamer-base-1.0 >= $GST_REQUIRED
+ gstreamer-video-1.0 >= $GST_REQUIRED
], [
AC_SUBST(GST_CFLAGS)
AC_SUBST(GST_LIBS)
], [
AC_MSG_ERROR([
You need to install or upgrade the GStreamer development
- packages on your system. On debian-based systems these are
- libgstreamer0.10-dev and libgstreamer-plugins-base0.10-dev.
- on RPM-based systems gstreamer0.10-devel, libgstreamer0.10-devel
- or similar. The minimum version required is $GST_REQUIRED.
+ packages on your system.
])
])
@@ -57,13 +55,15 @@
AC_MSG_RESULT([no])
])
-GST_MAJORMINOR=0.10
+GST_MAJORMINOR=1.0
AC_SUBST(GST_MAJORMINOR)
AC_CONFIG_FILES([Makefile
nemo-gstreamer-interfaces-$GST_MAJORMINOR.pc
+ nemo-gstreamer-meta-$GST_MAJORMINOR.pc
gst-libs/Makefile
gst-libs/gst/Makefile
gst-libs/gst/interfaces/Makefile
+ gst-libs/gst/meta/Makefile
])
AC_OUTPUT
|
[-]
[+]
|
Changed |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/gst-libs/gst/Makefile.am
^
|
@@ -1 +1 @@
-SUBDIRS = interfaces
+SUBDIRS = interfaces meta
|
[-]
[+]
|
Changed |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/gst-libs/gst/interfaces/nemovideotexture.c
^
|
@@ -64,8 +64,6 @@
nemo_gst_video_texture_type = g_type_register_static (G_TYPE_INTERFACE,
"NemoGstVideoTexture", &nemo_gst_video_texture_info, 0);
- g_type_interface_add_prerequisite (nemo_gst_video_texture_type,
- GST_TYPE_IMPLEMENTS_INTERFACE);
}
return nemo_gst_video_texture_type;
@@ -268,6 +266,28 @@
}
return NULL;
+}
+
+/**
+ * nemo_gst_video_texture_get_frame_meta:
+ * @iface: #NemoGstVideoTexture of a GStreamer element
+ * @api: the GType of an API
+ *
+ * Called by the application to get metadata for api on buffer.
+ * There must be a currently acquired frame
+ *
+ * Returns: the matadate for API on buffer or NULL
+ */
+GstMeta *
+nemo_gst_video_texture_get_frame_meta (NemoGstVideoTexture *iface, GType api)
+{
+ NemoGstVideoTextureClass *klass = NEMO_GST_VIDEO_TEXTURE_GET_CLASS (iface);
+
+ if (klass->get_frame_meta) {
+ return klass->get_frame_meta (iface, api);
+ }
+
+ return NULL;
}
/**
|
[-]
[+]
|
Changed |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/gst-libs/gst/interfaces/nemovideotexture.h
^
|
@@ -28,12 +28,12 @@
#define NEMO_GST_TYPE_VIDEO_TEXTURE \
(nemo_gst_video_texture_get_type ())
#define NEMO_GST_VIDEO_TEXTURE(obj) \
- (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), NEMO_GST_TYPE_VIDEO_TEXTURE, \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_GST_TYPE_VIDEO_TEXTURE, \
NemoGstVideoTexture))
#define NEMO_GST_VIDEO_TEXTURE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_GST_TYPE_VIDEO_TEXTURE, NemoGstVideoTextureClass))
#define NEMO_GST_IS_VIDEO_TEXTURE(obj) \
- (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), NEMO_GST_TYPE_VIDEO_TEXTURE))
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_GST_TYPE_VIDEO_TEXTURE))
#define NEMO_GST_IS_VIDEO_TEXTURE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_GST_TYPE_VIDEO_TEXTURE))
#define NEMO_GST_VIDEO_TEXTURE_GET_CLASS(inst) \
@@ -48,8 +48,9 @@
struct _NemoGstVideoTextureFrameInfo
{
- GstClockTime timestamp;
GstClockTime duration;
+ GstClockTime pts;
+ GstClockTime dts;
guint64 offset;
guint64 offset_end;
gpointer _gst_reserved[GST_PADDING];
@@ -66,6 +67,7 @@
void (* release_frame) (NemoGstVideoTexture *iface, EGLSyncKHR sync);
gboolean (* get_frame_info) (NemoGstVideoTexture *iface, NemoGstVideoTextureFrameInfo *info);
const GstStructure *(* get_frame_qdata)(NemoGstVideoTexture *iface, const GQuark quark);
+ GstMeta * (* get_frame_meta) (NemoGstVideoTexture *iface, GType api);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
@@ -81,6 +83,7 @@
void nemo_gst_video_texture_release_frame (NemoGstVideoTexture *iface, EGLSyncKHR sync);
gboolean nemo_gst_video_texture_get_frame_info (NemoGstVideoTexture *iface, NemoGstVideoTextureFrameInfo *info);
const GstStructure *nemo_gst_video_texture_get_frame_qdata (NemoGstVideoTexture *iface, const GQuark quark);
+GstMeta * nemo_gst_video_texture_get_frame_meta (NemoGstVideoTexture *iface, GType api);
/* trigger signals */
void nemo_gst_video_texture_frame_ready (NemoGstVideoTexture *iface, gint frame);
|
[-]
[+]
|
Added |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/gst-libs/gst/meta/Makefile.am
^
|
@@ -0,0 +1,9 @@
+lib_LTLIBRARIES = libgstnemometa-@GST_MAJORMINOR@.la
+libgstnemometaincludedir = \
+ $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/meta
+
+libgstnemometainclude_HEADERS = nemometa.h
+libgstnemometa_@GST_MAJORMINOR@_la_SOURCES = nemometa.c
+libgstnemometa_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS)
+libgstnemometa_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
+libgstnemometa_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_LT_LDFLAGS)
|
[-]
[+]
|
Added |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/gst-libs/gst/meta/nemometa.c
^
|
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2014 Mohammed Sameer <msameer@foolab.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "nemometa.h"
+#include <gst/video/video.h>
+
+GType
+nemo_gst_buffer_orientation_meta_api_get_type (void)
+{
+ static volatile GType type = 0;
+ static const gchar *tags[] =
+ { GST_META_TAG_VIDEO_STR, NULL
+ };
+
+ if (g_once_init_enter (&type)) {
+ GType _type = gst_meta_api_type_register ("NemoGstBufferOrientationMetaAPI", tags);
+ g_once_init_leave (&type, _type);
+ }
+
+ return type;
+}
+
+const GstMetaInfo *
+nemo_gst_buffer_orientation_meta_get_info (void)
+{
+ static const GstMetaInfo *meta_info = NULL;
+
+ if (g_once_init_enter (&meta_info)) {
+ const GstMetaInfo *meta =
+ gst_meta_register (NEMO_GST_BUFFER_ORIENTATION_META_API_TYPE, "NemoGstBufferOrientationMeta",
+ sizeof (NemoGstBufferOrientationMeta),
+ (GstMetaInitFunction) NULL,
+ (GstMetaFreeFunction) NULL,
+ (GstMetaTransformFunction)NULL);
+
+ g_once_init_leave (&meta_info, meta);
+ }
+
+ return meta_info;
+}
+
+NemoGstBufferOrientationMeta *
+gst_buffer_add_gst_buffer_orientation_meta (GstBuffer * buffer,
+ NemoGstBufferOrientation orientation, NemoGstDeviceDirection direction)
+{
+ NemoGstBufferOrientationMeta *meta = (NemoGstBufferOrientationMeta *)
+ gst_buffer_add_meta (buffer, NEMO_GST_BUFFER_ORIENTATION_META_INFO, NULL);
+
+ meta->orientation = orientation;
+ meta->direction = direction;
+
+ return meta;
+}
|
[-]
[+]
|
Added |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/gst-libs/gst/meta/nemometa.h
^
|
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2014 Mohammed Sameer <msameer@foolab.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __NEMO_META_H__
+#define __NEMO_META_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define NEMO_GST_BUFFER_ORIENTATION_META_API_TYPE (nemo_gst_buffer_orientation_meta_api_get_type())
+#define NEMO_GST_BUFFER_ORIENTATION_META_INFO (nemo_gst_buffer_orientation_meta_get_info())
+
+typedef struct _NemoGstBufferOrientationMeta NemoGstBufferOrientationMeta;
+
+typedef enum
+{
+ NEMO_GST_META_BUFFER_ORIENTATION_0 = 0,
+ NEMO_GST_META_BUFFER_ORIENTATION_90,
+ NEMO_GST_META_BUFFER_ORIENTATION_180,
+ NEMO_GST_META_BUFFER_ORIENTATION_270,
+} NemoGstBufferOrientation;
+
+typedef enum
+{
+ NEMO_GST_META_DEVICE_DIRECTION_BACK = 0,
+ NEMO_GST_META_DEVICE_DIRECTION_FRONT,
+} NemoGstDeviceDirection;
+
+struct _NemoGstBufferOrientationMeta {
+ GstMeta meta;
+
+ NemoGstBufferOrientation orientation;
+ NemoGstDeviceDirection direction;
+};
+
+GType nemo_gst_buffer_orientation_meta_api_get_type (void);
+const GstMetaInfo * nemo_gst_buffer_orientation_meta_get_info (void);
+
+#define gst_buffer_get_nemo_gst_buffer_orientation_meta(b) \
+ ((GstDroidMeta*)gst_buffer_get_meta((b),NEMO_GST_BUFFER_ORIENTATION_META_API_TYPE))
+
+NemoGstBufferOrientationMeta *
+gst_buffer_add_gst_buffer_orientation_meta (GstBuffer * buffer,
+ NemoGstBufferOrientation orientation,
+ NemoGstDeviceDirection direction);
+
+G_END_DECLS
+
+#endif /* __NEMO_META_H__ */
|
[-]
[+]
|
Changed |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/nemo-gstreamer-interfaces-1.0.pc.in
^
|
(renamed from nemo-gstreamer-interfaces-0.10.pc.in)
|
[-]
[+]
|
Added |
_service:tar_git:nemo-gst-interfaces-0.20150126.0.tar.gz/nemo-gstreamer-meta-1.0.pc.in
^
|
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@/gstreamer-@GST_MAJORMINOR@
+
+Name: Nemomobile GStreamer buffer meta
+Description: GStreamer buffer meta for Nemomobile
+Requires: gstreamer-video-@GST_MAJORMINOR@
+Version: @VERSION@
+Libs: -L${libdir} -lgstnemometa-@GST_MAJORMINOR@
+Cflags: -I${includedir}
|