configure.ac: Real video .so are now also available for x86_64, so we can build the
Original commit message from CVS:
* configure.ac:
Real video .so are now also available for x86_64, so we can build the
Real plugin on i386 AND x86_64.
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
New plugin file for real .so wrapper plugins.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_alloc_buffer),
(gst_real_video_dec_decode), (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (gst_real_video_dec_setcaps),
(open_library), (close_library), (gst_real_video_dec_init),
(gst_real_video_dec_base_init), (gst_real_video_dec_finalize),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Moved RealVideo element to separate file
Cleaned up code some more.
Make it work on x86_64.
Try several possible locations for .so
Separate opening/closing libraries in separate functions.
2007-01-05 18:15:52 +00:00
|
|
|
/* GStreamer
|
|
|
|
*
|
|
|
|
* Copyright (C) 2006 Lutz Mueller <lutz@topfrose.de>
|
2007-05-06 15:25:05 +00:00
|
|
|
* Copyright (C) 2006 Edward Hervey <bilboed@bilbod.com>
|
configure.ac: Real video .so are now also available for x86_64, so we can build the
Original commit message from CVS:
* configure.ac:
Real video .so are now also available for x86_64, so we can build the
Real plugin on i386 AND x86_64.
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
New plugin file for real .so wrapper plugins.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_alloc_buffer),
(gst_real_video_dec_decode), (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (gst_real_video_dec_setcaps),
(open_library), (close_library), (gst_real_video_dec_init),
(gst_real_video_dec_base_init), (gst_real_video_dec_finalize),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Moved RealVideo element to separate file
Cleaned up code some more.
Make it work on x86_64.
Try several possible locations for .so
Separate opening/closing libraries in separate functions.
2007-01-05 18:15:52 +00:00
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Library General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 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
|
|
|
|
* Library General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library General Public
|
|
|
|
* License along with this library; if not, write to the
|
2012-11-03 20:38:00 +00:00
|
|
|
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
|
|
|
* Boston, MA 02110-1301, USA.
|
configure.ac: Real video .so are now also available for x86_64, so we can build the
Original commit message from CVS:
* configure.ac:
Real video .so are now also available for x86_64, so we can build the
Real plugin on i386 AND x86_64.
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
New plugin file for real .so wrapper plugins.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_alloc_buffer),
(gst_real_video_dec_decode), (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (gst_real_video_dec_setcaps),
(open_library), (close_library), (gst_real_video_dec_init),
(gst_real_video_dec_base_init), (gst_real_video_dec_finalize),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Moved RealVideo element to separate file
Cleaned up code some more.
Make it work on x86_64.
Try several possible locations for .so
Separate opening/closing libraries in separate functions.
2007-01-05 18:15:52 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __GST_REAL_VIDEO_DEC_H__
|
|
|
|
#define __GST_REAL_VIDEO_DEC_H__
|
|
|
|
|
|
|
|
#include <gst/gst.h>
|
|
|
|
#include <gst/base/gstadapter.h>
|
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
#define GST_TYPE_REAL_VIDEO_DEC (gst_real_video_dec_get_type())
|
|
|
|
#define GST_REAL_VIDEO_DEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_REAL_VIDEO_DEC,GstRealVideoDec))
|
|
|
|
#define GST_REAL_VIDEO_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_REAL_VIDEO_DEC,GstRealVideoDecClass))
|
|
|
|
|
|
|
|
typedef struct _GstRealVideoDec GstRealVideoDec;
|
|
|
|
typedef struct _GstRealVideoDecClass GstRealVideoDecClass;
|
|
|
|
typedef enum _GstRealVideoDecVersion GstRealVideoDecVersion;
|
|
|
|
|
|
|
|
enum _GstRealVideoDecVersion
|
|
|
|
{
|
|
|
|
GST_REAL_VIDEO_DEC_VERSION_2 = 2,
|
|
|
|
GST_REAL_VIDEO_DEC_VERSION_3 = 3,
|
|
|
|
GST_REAL_VIDEO_DEC_VERSION_4 = 4
|
|
|
|
};
|
|
|
|
|
2007-01-06 10:58:13 +00:00
|
|
|
typedef struct {
|
2007-05-06 15:25:05 +00:00
|
|
|
GModule *module;
|
2007-01-06 10:58:13 +00:00
|
|
|
|
gst/real/gstrealaudiodec.c: Add raversions we can support on the caps.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
2008-06-13 18:03:16 +00:00
|
|
|
gpointer context;
|
|
|
|
|
|
|
|
guint32 (*Init) (gpointer, gpointer);
|
|
|
|
guint32 (*Free) (gpointer);
|
|
|
|
guint32 (*Transform) (gchar *, gchar *, gpointer, gpointer, gpointer);
|
|
|
|
guint32 (*Message) (gpointer, gpointer);
|
|
|
|
|
|
|
|
/*
|
2007-10-08 17:46:45 +00:00
|
|
|
GstRealVideoDecMessageFunc custom_message;
|
|
|
|
GstRealVideoDecFreeFunc free;
|
|
|
|
GstRealVideoDecInitFunc init;
|
|
|
|
GstRealVideoDecTransformFunc transform;
|
gst/real/gstrealaudiodec.c: Add raversions we can support on the caps.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
2008-06-13 18:03:16 +00:00
|
|
|
*/
|
2007-01-06 10:58:13 +00:00
|
|
|
|
gst/real/gstrealaudiodec.c: Add raversions we can support on the caps.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
2008-06-13 18:03:16 +00:00
|
|
|
} GstRVDecLibrary;
|
2007-01-06 10:58:13 +00:00
|
|
|
|
configure.ac: Real video .so are now also available for x86_64, so we can build the
Original commit message from CVS:
* configure.ac:
Real video .so are now also available for x86_64, so we can build the
Real plugin on i386 AND x86_64.
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
New plugin file for real .so wrapper plugins.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_alloc_buffer),
(gst_real_video_dec_decode), (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (gst_real_video_dec_setcaps),
(open_library), (close_library), (gst_real_video_dec_init),
(gst_real_video_dec_base_init), (gst_real_video_dec_finalize),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Moved RealVideo element to separate file
Cleaned up code some more.
Make it work on x86_64.
Try several possible locations for .so
Separate opening/closing libraries in separate functions.
2007-01-05 18:15:52 +00:00
|
|
|
struct _GstRealVideoDec
|
|
|
|
{
|
|
|
|
GstElement parent;
|
|
|
|
|
|
|
|
GstPad *src, *snk;
|
|
|
|
|
|
|
|
/* Caps */
|
|
|
|
GstRealVideoDecVersion version;
|
|
|
|
guint width, height;
|
|
|
|
gint format, subformat;
|
|
|
|
gint framerate_num, framerate_denom;
|
|
|
|
|
2007-09-19 13:50:44 +00:00
|
|
|
gint error_count;
|
|
|
|
|
gst/real/gstrealaudiodec.c: Add raversions we can support on the caps.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
2008-06-13 18:03:16 +00:00
|
|
|
/* Library functions */
|
|
|
|
GstRVDecLibrary lib;
|
configure.ac: Real video .so are now also available for x86_64, so we can build the
Original commit message from CVS:
* configure.ac:
Real video .so are now also available for x86_64, so we can build the
Real plugin on i386 AND x86_64.
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
New plugin file for real .so wrapper plugins.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_alloc_buffer),
(gst_real_video_dec_decode), (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (gst_real_video_dec_setcaps),
(open_library), (close_library), (gst_real_video_dec_init),
(gst_real_video_dec_base_init), (gst_real_video_dec_finalize),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Moved RealVideo element to separate file
Cleaned up code some more.
Make it work on x86_64.
Try several possible locations for .so
Separate opening/closing libraries in separate functions.
2007-01-05 18:15:52 +00:00
|
|
|
|
|
|
|
/* Properties */
|
2007-09-19 13:50:44 +00:00
|
|
|
gchar *real_codecs_path;
|
gst/real/gstrealaudiodec.c: Add raversions we can support on the caps.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
2008-06-13 18:03:16 +00:00
|
|
|
gboolean checked_modules;
|
2007-09-19 13:50:44 +00:00
|
|
|
gchar *rv20_names;
|
gst/real/gstrealaudiodec.c: Add raversions we can support on the caps.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
2008-06-13 18:03:16 +00:00
|
|
|
gboolean valid_rv20;
|
2007-09-19 13:50:44 +00:00
|
|
|
gchar *rv30_names;
|
gst/real/gstrealaudiodec.c: Add raversions we can support on the caps.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
2008-06-13 18:03:16 +00:00
|
|
|
gboolean valid_rv30;
|
2007-09-19 13:50:44 +00:00
|
|
|
gchar *rv40_names;
|
gst/real/gstrealaudiodec.c: Add raversions we can support on the caps.
Original commit message from CVS:
* gst/real/gstrealaudiodec.c: (gst_real_audio_dec_chain),
(close_library), (open_library),
(gst_real_audio_dec_probe_modules), (gst_real_audio_dec_getcaps),
(gst_real_audio_dec_setcaps), (gst_real_audio_dec_init),
(gst_real_audio_dec_change_state), (gst_real_audio_dec_finalize):
Add raversions we can support on the caps.
Refactor the loading of the real codecs like realvideo so that we can
implement probing.
Probe all supported formats by trying to load the .so files, only report
the versions on the caps that we can actually load.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_chain),
(gst_real_video_dec_getcaps), (gst_real_video_dec_setcaps),
(open_library), (close_library),
(gst_real_video_dec_probe_modules),
(gst_real_video_dec_change_state), (gst_real_video_dec_init),
(gst_real_video_dec_finalize), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Change the loading of the library like the audio decoder.
Probe the supported formats by trying to load the .so files and only
report the versions on the caps that we can actually load.
2008-06-13 18:03:16 +00:00
|
|
|
gboolean valid_rv40;
|
2007-09-19 13:50:44 +00:00
|
|
|
gint max_errors;
|
configure.ac: Real video .so are now also available for x86_64, so we can build the
Original commit message from CVS:
* configure.ac:
Real video .so are now also available for x86_64, so we can build the
Real plugin on i386 AND x86_64.
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
New plugin file for real .so wrapper plugins.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_alloc_buffer),
(gst_real_video_dec_decode), (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (gst_real_video_dec_setcaps),
(open_library), (close_library), (gst_real_video_dec_init),
(gst_real_video_dec_base_init), (gst_real_video_dec_finalize),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Moved RealVideo element to separate file
Cleaned up code some more.
Make it work on x86_64.
Try several possible locations for .so
Separate opening/closing libraries in separate functions.
2007-01-05 18:15:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _GstRealVideoDecClass
|
|
|
|
{
|
|
|
|
GstElementClass parent_class;
|
|
|
|
};
|
|
|
|
|
|
|
|
GType gst_real_video_dec_get_type (void);
|
|
|
|
|
|
|
|
G_END_DECLS
|
2007-05-06 15:25:05 +00:00
|
|
|
|
configure.ac: Real video .so are now also available for x86_64, so we can build the
Original commit message from CVS:
* configure.ac:
Real video .so are now also available for x86_64, so we can build the
Real plugin on i386 AND x86_64.
* gst/real/Makefile.am:
* gst/real/gstreal.c: (plugin_init):
New plugin file for real .so wrapper plugins.
* gst/real/gstrealvideodec.c: (gst_real_video_dec_alloc_buffer),
(gst_real_video_dec_decode), (gst_real_video_dec_chain),
(gst_real_video_dec_activate_push), (gst_real_video_dec_setcaps),
(open_library), (close_library), (gst_real_video_dec_init),
(gst_real_video_dec_base_init), (gst_real_video_dec_finalize),
(gst_real_video_dec_set_property),
(gst_real_video_dec_get_property), (gst_real_video_dec_class_init):
* gst/real/gstrealvideodec.h:
Moved RealVideo element to separate file
Cleaned up code some more.
Make it work on x86_64.
Try several possible locations for .so
Separate opening/closing libraries in separate functions.
2007-01-05 18:15:52 +00:00
|
|
|
#endif /* __GST_REAL_VIDEO_DEC_H__ */
|
2007-05-06 15:25:05 +00:00
|
|
|
|
|
|
|
|