summaryrefslogtreecommitdiffstats
path: root/gst/real/gstrealvideodec.h
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2008-06-13 18:03:16 +0000
committerWim Taymans <wim.taymans@gmail.com>2008-06-13 18:03:16 +0000
commit1a39f60d9f9fa8ad7b664787f162f9fa7e616957 (patch)
tree8dcc50b600e09463ecfa5375cc00541a3fb7bc38 /gst/real/gstrealvideodec.h
parent7ce74ccd5db8cc084ebe07da9e33366712064ee0 (diff)
downloadgst-plugins-bad-1a39f60d9f9fa8ad7b664787f162f9fa7e616957.tar.gz
gst-plugins-bad-1a39f60d9f9fa8ad7b664787f162f9fa7e616957.tar.bz2
gst-plugins-bad-1a39f60d9f9fa8ad7b664787f162f9fa7e616957.zip
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.
Diffstat (limited to 'gst/real/gstrealvideodec.h')
-rw-r--r--gst/real/gstrealvideodec.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/gst/real/gstrealvideodec.h b/gst/real/gstrealvideodec.h
index d3ac5391..e80b6f46 100644
--- a/gst/real/gstrealvideodec.h
+++ b/gst/real/gstrealvideodec.h
@@ -35,11 +35,6 @@ typedef struct _GstRealVideoDec GstRealVideoDec;
typedef struct _GstRealVideoDecClass GstRealVideoDecClass;
typedef enum _GstRealVideoDecVersion GstRealVideoDecVersion;
-typedef guint32 (*GstRealVideoDecMessageFunc) (gpointer, gpointer);
-typedef guint32 (*GstRealVideoDecFreeFunc) (gpointer);
-typedef guint32 (*GstRealVideoDecInitFunc) (gpointer, gpointer);
-typedef guint32 (*GstRealVideoDecTransformFunc) (gchar *, gchar *, gpointer, gpointer, gpointer);
-
enum _GstRealVideoDecVersion
{
GST_REAL_VIDEO_DEC_VERSION_2 = 2,
@@ -50,13 +45,21 @@ enum _GstRealVideoDecVersion
typedef struct {
GModule *module;
+ gpointer context;
+
+ guint32 (*Init) (gpointer, gpointer);
+ guint32 (*Free) (gpointer);
+ guint32 (*Transform) (gchar *, gchar *, gpointer, gpointer, gpointer);
+ guint32 (*Message) (gpointer, gpointer);
+
+ /*
GstRealVideoDecMessageFunc custom_message;
GstRealVideoDecFreeFunc free;
GstRealVideoDecInitFunc init;
GstRealVideoDecTransformFunc transform;
+ */
- gpointer context;
-} GstRealVideoDecHooks;
+} GstRVDecLibrary;
struct _GstRealVideoDec
{
@@ -72,14 +75,18 @@ struct _GstRealVideoDec
gint error_count;
- /* Hooks */
- GstRealVideoDecHooks hooks;
+ /* Library functions */
+ GstRVDecLibrary lib;
/* Properties */
gchar *real_codecs_path;
+ gboolean checked_modules;
gchar *rv20_names;
+ gboolean valid_rv20;
gchar *rv30_names;
+ gboolean valid_rv30;
gchar *rv40_names;
+ gboolean valid_rv40;
gint max_errors;
};