[vlc-devel] commit: vout_window_t: privatize module pointer ( Rémi Denis-Courmont )
git version control
git at videolan.org
Sat Oct 17 20:41:44 CEST 2009
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Oct 17 20:40:55 2009 +0300| [82108a21aa3c9d9b229724d7b392f08e059dff6c] | committer: Rémi Denis-Courmont
vout_window_t: privatize module pointer
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=82108a21aa3c9d9b229724d7b392f08e059dff6c
---
include/vlc_vout_window.h | 3 ---
src/video_output/window.c | 19 +++++++++++++------
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/include/vlc_vout_window.h b/include/vlc_vout_window.h
index b3db081..a3615cd 100644
--- a/include/vlc_vout_window.h
+++ b/include/vlc_vout_window.h
@@ -78,9 +78,6 @@ typedef struct {
struct vout_window_t {
VLC_COMMON_MEMBERS
- /* Module */
- module_t *module;
-
/* Initial state (reserved).
* Once the open function is called, it will be set to NULL
*/
diff --git a/src/video_output/window.c b/src/video_output/window.c
index 3076401..503006b 100644
--- a/src/video_output/window.c
+++ b/src/video_output/window.c
@@ -33,13 +33,20 @@
#include <vlc_vout_window.h>
#include <libvlc.h>
+typedef struct
+{
+ vout_window_t wnd;
+ module_t *module;
+} window_t;
+
vout_window_t *vout_window_New(vlc_object_t *obj,
const char *module,
const vout_window_cfg_t *cfg)
{
static char const name[] = "window";
- vout_window_t *window = vlc_custom_create(obj, sizeof(*window),
- VLC_OBJECT_GENERIC, name);
+ window_t *w = vlc_custom_create(obj, sizeof(*w), VLC_OBJECT_GENERIC, name);
+ vout_window_t *window = &w->wnd;
+
window->cfg = cfg;
memset(&window->handle, 0, sizeof(window->handle));
window->control = NULL;
@@ -59,9 +66,8 @@ vout_window_t *vout_window_New(vlc_object_t *obj,
assert(0);
}
- window->module = module_need(window, type,
- module, module && *module != '\0');
- if (!window->module) {
+ w->module = module_need(window, type, module, module && *module != '\0');
+ if (!w->module) {
vlc_object_detach(window);
vlc_object_release(window);
return NULL;
@@ -74,9 +80,10 @@ void vout_window_Delete(vout_window_t *window)
if (!window)
return;
+ window_t *w = (window_t *)window;
vlc_object_detach(window);
- module_unneed(window, window->module);
+ module_unneed(window, w->module);
vlc_object_release(window);
}
More information about the vlc-devel
mailing list