diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2008-06-13 18:03:16 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2008-06-13 18:03:16 +0000 |
commit | 1a39f60d9f9fa8ad7b664787f162f9fa7e616957 (patch) | |
tree | 8dcc50b600e09463ecfa5375cc00541a3fb7bc38 /gst/real/gstrealvideodec.h | |
parent | 7ce74ccd5db8cc084ebe07da9e33366712064ee0 (diff) | |
download | gst-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.h | 25 |
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; }; |