[vlc-devel] [PATCH] Support for newest freerdp snapshot
Paweł Stankowski
aambitny at gmail.com
Fri Nov 21 01:55:46 CET 2014
Sorry, my previous patch did not contain removal of two functions that
were doing nothing and were thrown out. As previous patch is already
applied, I send a correction.
WARNING: I was trying to test --enable-rdp switch with older freerdp
version and found out that freerdp/version.h is currently always
included - that behavior breaks all versions older than 1.2.0. There
was an intention to overcome that issue by defining
FREERDP_INTERFACE_VERSION, but I did not find any trace how it was
defined. Maybe FREERDP_VERSION_* macros could be defined by configure
script in config.h file? "pkg-config --modversion freerdp" returns
version as string.
Currently, only 1.2.0 version of freerdp works correctly. Could you
fix previous versions or correct configure.ac to require freerdp in
proper version?
[1] https://trac.videolan.org/vlc/ticket/10832
diff --git a/modules/access/rdp.c b/modules/access/rdp.c
index 1dca8ae..f785894 100644
--- a/modules/access/rdp.c
+++ b/modules/access/rdp.c
@@ -250,8 +250,7 @@ static bool postConnectHandler( freerdp *p_instance )
gdi_init( p_instance,
CLRBUF_16BPP |
-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 &&
FREERDP_VERSION_MINOR >= 2))
+#if !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 &&
FREERDP_VERSION_MINOR >= 2))
CLRBUF_24BPP |
#endif
CLRBUF_32BPP, NULL );
@@ -428,7 +427,9 @@ static int Open( vlc_object_t *p_this )
if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
p_sys->i_frame_interval = 1000000 / p_sys->f_fps;
+#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2)
freerdp_channels_global_init();
+#endif
p_sys->p_instance = freerdp_new();
if ( !p_sys->p_instance )
@@ -504,7 +505,9 @@ static void Close( vlc_object_t *p_this )
freerdp_disconnect( p_sys->p_instance );
freerdp_free( p_sys->p_instance );
+#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2)
freerdp_channels_global_uninit();
+#endif
if ( p_sys->p_block )
block_Release( p_sys->p_block );
2014-11-19 2:03 GMT+01:00 Paweł Stankowski <aambitny at gmail.com>:
> Support for 24bpp was removed from freerdp repository in commit
> 02c1bf14ce1f3ad2199a349066548977916d9c06.
>
> diff --git a/modules/access/rdp.c b/modules/access/rdp.c
> index c48ae99..1dca8ae 100644
> --- a/modules/access/rdp.c
> +++ b/modules/access/rdp.c
> @@ -248,7 +248,13 @@ static bool postConnectHandler( freerdp *p_instance )
> p_instance->update->BeginPaint = beginPaintHandler;
> p_instance->update->EndPaint = endPaintHandler;
>
> - gdi_init( p_instance, CLRBUF_16BPP | CLRBUF_24BPP | CLRBUF_32BPP, NULL );
> + gdi_init( p_instance,
> + CLRBUF_16BPP |
> +#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
> + !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 &&
> FREERDP_VERSION_MINOR >= 2))
> + CLRBUF_24BPP |
> +#endif
> + CLRBUF_32BPP, NULL );
>
> desktopResizeHandler( p_instance->context );
> return true;
More information about the vlc-devel
mailing list