X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_output%2Fvmem.c;h=be1ef6d23acf3f2f6e13a0ffe9ad1fca867467ba;hb=b68fb123875dbc0038bb551769f1ce1a1f68b8a7;hp=19e077814e15c2e57c380a500709c4e2002617cb;hpb=24dc93c6660743692474be882348fd971e8133fb;p=vlc diff --git a/modules/video_output/vmem.c b/modules/video_output/vmem.c index 19e077814e..be1ef6d23a 100644 --- a/modules/video_output/vmem.c +++ b/modules/video_output/vmem.c @@ -75,12 +75,19 @@ vlc_module_begin() set_capability("vout display", 0) add_integer("vmem-width", 320, NULL, T_WIDTH, LT_WIDTH, false) + change_private() add_integer("vmem-height", 200, NULL, T_HEIGHT, LT_HEIGHT, false) + change_private() add_integer("vmem-pitch", 640, NULL, T_PITCH, LT_PITCH, false) + change_private() add_string("vmem-chroma", "RV16", NULL, T_CHROMA, LT_CHROMA, true) + change_private() add_string("vmem-lock", "0", NULL, T_LOCK, LT_LOCK, true) + change_volatile() add_string("vmem-unlock", "0", NULL, T_UNLOCK, LT_UNLOCK, true) + change_volatile() add_string("vmem-data", "0", NULL, T_DATA, LT_DATA, true) + change_volatile() set_callbacks(Open, Close) vlc_module_end() @@ -98,13 +105,13 @@ struct vout_display_sys_t { picture_pool_t *pool; }; -static picture_t *Get (vout_display_t *); -static void Display(vout_display_t *, picture_t *); -static int Control(vout_display_t *, int, va_list); -static void Manage (vout_display_t *); +static picture_pool_t *Pool (vout_display_t *, unsigned); +static void Display(vout_display_t *, picture_t *); +static int Control(vout_display_t *, int, va_list); +static void Manage (vout_display_t *); -static int Lock(picture_t *); -static void Unlock(picture_t *); +static int Lock(picture_t *); +static void Unlock(picture_t *); /***************************************************************************** * Open: allocates video thread @@ -218,7 +225,7 @@ static int Open(vlc_object_t *object) if (!sys->pool) { picture_Release(picture); free(sys); - return VLC_SUCCESS; + return VLC_EGENERIC; } /* */ @@ -228,7 +235,7 @@ static int Open(vlc_object_t *object) /* */ vd->fmt = fmt; vd->info = info; - vd->get = Get; + vd->pool = Pool; vd->prepare = NULL; vd->display = Display; vd->control = Control; @@ -236,7 +243,7 @@ static int Open(vlc_object_t *object) /* */ vout_display_SendEventFullscreen(vd, false); - vout_display_SendEventDisplaySize(vd, fmt.i_width, fmt.i_height); + vout_display_SendEventDisplaySize(vd, fmt.i_width, fmt.i_height, false); return VLC_SUCCESS; } @@ -250,9 +257,10 @@ static void Close(vlc_object_t *object) } /* */ -static picture_t *Get(vout_display_t *vd) +static picture_pool_t *Pool(vout_display_t *vd, unsigned count) { - return picture_pool_Get(vd->sys->pool); + VLC_UNUSED(count); + return vd->sys->pool; } static void Display(vout_display_t *vd, picture_t *picture)