summaryrefslogtreecommitdiff
path: root/gstreamer_ti_dm81xx/ti_build/gst-openmax/omx/gstomx_buffertransport.h
diff options
context:
space:
mode:
Diffstat (limited to 'gstreamer_ti_dm81xx/ti_build/gst-openmax/omx/gstomx_buffertransport.h')
-rw-r--r--gstreamer_ti_dm81xx/ti_build/gst-openmax/omx/gstomx_buffertransport.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/gstreamer_ti_dm81xx/ti_build/gst-openmax/omx/gstomx_buffertransport.h b/gstreamer_ti_dm81xx/ti_build/gst-openmax/omx/gstomx_buffertransport.h
new file mode 100644
index 0000000..74f1416
--- /dev/null
+++ b/gstreamer_ti_dm81xx/ti_build/gst-openmax/omx/gstomx_buffertransport.h
@@ -0,0 +1,78 @@
+/*
+ * gstomxbuffertransport.h
+ *
+ * This file declares the "OMXBufferTransport" buffer object, which is used
+ * to encapsulate an existing OMX buffer object inside of a gStreamer
+ * buffer so it can be passed along the gStreamer pipeline.
+ *
+ * Copyright (C) 2010-2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * This program 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 version 2.1 of the License.
+ *
+ * This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+ * whether express or implied; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#ifndef __GST_OMXBUFFERTRANSPORT_H__
+#define __GST_OMXBUFFERTRANSPORT_H__
+
+#include <gst/gst.h>
+
+#include "gstomx_util.h"
+
+G_BEGIN_DECLS
+
+/* Type macros for GST_TYPE_OMXBUFFERTRANSPORT */
+#define GST_TYPE_OMXBUFFERTRANSPORT \
+ (gst_omxbuffertransport_get_type())
+#define GST_OMXBUFFERTRANSPORT(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_OMXBUFFERTRANSPORT, \
+ GstOmxBufferTransport))
+#define GST_IS_OMXBUFFERTRANSPORT(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_OMXBUFFERTRANSPORT))
+#define GST_OMXBUFFERTRANSPORT_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_OMXBUFFERTRANSPORT, \
+ GstOmxBufferTransportClass))
+#define GST_IS_OMXBUFFERTRANSPORT_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_OMXBUFFERTRANSPORT))
+#define GST_OMXBUFFERTRANSPORT_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_OMXBUFFERTRANSPORT, \
+ GstOmxBufferTransportClass))
+
+typedef struct _GstOmxBufferTransport GstOmxBufferTransport;
+typedef struct _GstOmxBufferTransportClass GstOmxBufferTransportClass;
+
+/* Utility macros for GST_TYPE_OMXBUFFERTRANSPORT */
+#define GST_GET_OMXBUFFER(obj) \
+ ((obj) ? GST_OMXBUFFERTRANSPORT(obj)->omxbuffer : NULL)
+#define GST_GET_OMXPORT(obj) \
+ ((obj) ? GST_OMXBUFFERTRANSPORT(obj)->port : NULL)
+
+
+/* _GstOmxBufferTransport object */
+struct _GstOmxBufferTransport {
+ GstBuffer parent_instance;
+ OMX_BUFFERHEADERTYPE *omxbuffer;
+ GOmxPort *port;
+ guint numAdditionalHeaders;
+ OMX_BUFFERHEADERTYPE **addHeader;
+};
+
+struct _GstOmxBufferTransportClass {
+ GstBufferClass derived_methods;
+};
+
+/* External function declarations */
+GType gst_omxbuffertransport_get_type(void);
+GstBuffer* gst_omxbuffertransport_new(GOmxPort *port, OMX_BUFFERHEADERTYPE *buffer);
+void gst_omxbuffertransport_set_additional_headers (GstOmxBufferTransport *self ,guint numHeaders,OMX_BUFFERHEADERTYPE **buffer);
+
+
+G_END_DECLS
+
+#endif /* __GST_OMXBUFFERTRANSPORT_H__ */