The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск медиаплеера VLC 3.0.0, opennews (??), 09-Фев-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


58. "Выпуск медиаплеера VLC 3.0.0"  +2 +/
Сообщение от thresh (??), 10-Фев-18, 00:34 
> Жаль, они, разрабы, никак не научаться сделать этот плеер не падающим постоянно.

Мы работаем над этим.  Для windows и mac специально для этого написали серверную и клиентскую часть сборщика и каталогизатора крэшей и включили в сборки vlc 3.0.

Ну и в целом - падение программы - повод сходить в trac и повесить баг, приложив "thread apply all bt" из gdb --core=core vlc.

Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

75. "Выпуск медиаплеера VLC 3.0.0"  +/
Сообщение от Фодриц (?), 10-Фев-18, 01:46 
Генту, сколько смотрю на VLC видео, крахов не наблюдал. Другое дело, что пришлось отрубить видеоускорение ибо NVIDIA 960 выдавала то тиринг то тормоза то еще какую беду. И да, была беда с oss субтитрами, когда в настройках VLC стоят "невидимые" шрифты по-умолчанию. А субтитры без настроек шрифтов невидимы. Плюс плохо определяется cp1251 в кодировке субтитров. Но это було года 2 назад. Что сейчас - хз, давно не смотрел видео с OSS субтитрами...
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск медиаплеера VLC 3.0.0"  +/
Сообщение от Аноним (-), 10-Фев-18, 12:00 
Аналогично, без крахов. Наверное потому, что Gentoo. Проблем из-за видеокарточки нет потому, что только Ati/AMD. 8-битовые кодировки давно пора в /dev/null, разрабы ими сейчас серьёзно уже заниматься не будут. Наверное, как решение - скачать и переконвертировать.
Ответить | Правка | Наверх | Cообщить модератору

83. "Выпуск медиаплеера VLC 3.0.0"  +/
Сообщение от Gannetemail (ok), 10-Фев-18, 03:20 
Спасибо за адекватный ответ.
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

243. "Выпуск медиаплеера VLC 3.0.0"  –1 +/
Сообщение от Ne01eXemail (ok), 14-Фев-18, 09:05 
Поддержку freerdp-2.x долго запиливать будете? (Чё там как по API изменилось сам ещё не смотрел)...
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

247. "Выпуск медиаплеера VLC 3.0.0"  +/
Сообщение от thresh (??), 14-Фев-18, 15:26 
> Поддержку freerdp-2.x долго запиливать будете? (Чё там как по API изменилось сам
> ещё не смотрел)...

Да уже давно вроде бы поддерживается.

Ответить | Правка | Наверх | Cообщить модератору

248. "Выпуск медиаплеера VLC 3.0.0"  –1 +/
Сообщение от Ne01eXemail (ok), 14-Фев-18, 21:34 
>> Поддержку freerdp-2.x долго запиливать будете? (Чё там как по API изменилось сам
>> ещё не смотрел)...
> Да уже давно вроде бы поддерживается.

Нет. Я сейчас специально поправил configure.ac :

bash-4.3# cat vlc-3.0.0-freerdp2-rtklinux-0.patch
diff -Naur vlc-3.0.0.orig/configure.ac vlc-3.0.0/configure.ac
--- vlc-3.0.0.orig/configure.ac    2018-02-07 01:08:00.000000000 +0500
+++ vlc-3.0.0/configure.ac    2018-02-14 23:07:16.000000000 +0500
@@ -1992,7 +1992,7 @@

dnl  RDP/Remote Desktop access module
dnl
-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 2.0.0], (RDP/Remote Desktop client support) )

dnl
dnl  Real RTSP plugin

Выполнил bootstrap, естественно. :-) На этапе сборки мы имеем:

access/rdp.c: В функции «desktopResizeHandler»:
access/rdp.c:156:18: ошибка: «rdpGdi {aka struct rdp_gdi}» не содержит элемента с именем «bytesPerPixel»
     switch( p_gdi->bytesPerPixel )
                  ^
access/rdp.c:179:68: ошибка: «rdpGdi {aka struct rdp_gdi}» не содержит элемента с именем «bytesPerPixel»
     p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel;
                                                                    ^
access/rdp.c: В функции «postConnectHandler»:
access/rdp.c:251:39: предупреждение: несовместимый тип указателя в присваивании [-Wincompatible-pointer-types]
     p_instance->update->DesktopResize = desktopResizeHandler;
                                       ^
access/rdp.c:252:36: предупреждение: несовместимый тип указателя в присваивании [-Wincompatible-pointer-types]
     p_instance->update->BeginPaint = beginPaintHandler;
                                    ^
access/rdp.c:253:34: предупреждение: несовместимый тип указателя в присваивании [-Wincompatible-pointer-types]
     p_instance->update->EndPaint = endPaintHandler;
                                  ^
access/rdp.c:256:17: ошибка: «CLRBUF_16BPP» undeclared (first use in this function)
                 CLRBUF_16BPP |
                 ^
access/rdp.c:256:17: замечание: each undeclared identifier is reported only once for each function it appears in
access/rdp.c:261:17: ошибка: «CLRBUF_32BPP» undeclared (first use in this function)
                 CLRBUF_32BPP, NULL );
                 ^
access/rdp.c:255:5: ошибка: слишком много аргументов в вызове функции «gdi_init»
     gdi_init( p_instance,
     ^
In file included from access/rdp.c:42:0:
/usr/include/freerdp2/freerdp/gdi/gdi.h:539:18: замечание: declared here
FREERDP_API BOOL gdi_init(freerdp* instance, UINT32 format);
                  ^
access/rdp.c: В функции «Open»:
access/rdp.c:447:35: предупреждение: несовместимый тип указателя в присваивании [-Wincompatible-pointer-types]
     p_sys->p_instance->PreConnect = preConnectHandler;
                                   ^
access/rdp.c:448:36: предупреждение: несовместимый тип указателя в присваивании [-Wincompatible-pointer-types]
     p_sys->p_instance->PostConnect = postConnectHandler;
                                    ^
access/rdp.c:449:37: предупреждение: несовместимый тип указателя в присваивании [-Wincompatible-pointer-types]
     p_sys->p_instance->Authenticate = authenticateHandler;

Ну как-то так. :-) Вроде всё рядом, пойду посмотрю, пока чаёк заваривается...

Ответить | Правка | Наверх | Cообщить модератору

249. "Выпуск медиаплеера VLC 3.0.0"  +/
Сообщение от Ne01eXemail (ok), 14-Фев-18, 22:02 
FreeRDP с GPL v.2 на лицензию Apache 2.0 перешли кстати... :-\

После этого, видимо, желание разработчиков писать ChangeLog пропало... :-\

Ответить | Правка | Наверх | Cообщить модератору

255. "Выпуск медиаплеера VLC 3.0.0"  +/
Сообщение от Ne01eXemail (ok), 15-Фев-18, 09:16 
Я ХЗ, насколько это правильно, но вроде работает:

bash-4.3# cat vlc-3.0.0-freerdp2.fix-rtklinux-0.patch
diff -Naur vlc-3.0.0.orig/configure.ac vlc-3.0.0.rtklinux/configure.ac
--- vlc-3.0.0.orig/configure.ac    2018-02-07 01:08:00.000000000 +0500
+++ vlc-3.0.0.rtklinux/configure.ac    2018-02-15 06:33:21.000000000 +0500
@@ -1992,7 +1992,7 @@

dnl  RDP/Remote Desktop access module
dnl
-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 2.0.0], (RDP/Remote Desktop client support) )

dnl
dnl  Real RTSP plugin
diff -Naur vlc-3.0.0.orig/modules/access/rdp.c vlc-3.0.0.rtklinux/modules/access/rdp.c
--- vlc-3.0.0.orig/modules/access/rdp.c    2017-12-21 14:51:16.000000000 +0500
+++ vlc-3.0.0.rtklinux/modules/access/rdp.c    2018-02-15 10:19:05.000000000 +0500
@@ -45,18 +45,6 @@
# include <freerdp/version.h>
#endif

-#if !defined(FREERDP_VERSION_MAJOR) || \
-    (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)))
-# define SoftwareGdi sw_gdi
-# define Fullscreen fullscreen
-# define ServerHostname hostname
-# define Username username
-# define Password password
-# define ServerPort port
-# define EncryptionMethods encryption
-# define ContextSize context_size
-#endif
-
#include <errno.h>
#ifdef HAVE_POLL
# include <poll.h>
@@ -84,9 +72,10 @@
vlc_module_begin()
     set_shortname( N_("RDP") )
     add_shortcut( "rdp" )
+    set_description( N_("RDP Remote Desktop") )
+
     set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
-    set_description( N_("RDP Remote Desktop") )
     set_capability( "access_demux", 0 )

     add_string( CFG_PREFIX "user", NULL, USER_TEXT, USER_LONGTEXT, false )
@@ -144,6 +133,7 @@
     vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
     demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
     rdpGdi *p_gdi = p_context->gdi;
+    unsigned bytesPerPixel;

     if ( p_sys->es )
     {
@@ -153,17 +143,21 @@

     /* Now init and fill es format */
     vlc_fourcc_t i_chroma;
-    switch( p_gdi->bytesPerPixel )
+    switch( p_gdi->dstFormat )
     {
         default:
-        case 16:
+            msg_Dbg( p_vlccontext->p_demux, "unhandled dstFormat %x bpp", p_gdi->dstFormat);
+        case PIXEL_FORMAT_BGR16:
             i_chroma = VLC_CODEC_RGB16;
+            bytesPerPixel = 16;
             break;
-        case 24:
+        case PIXEL_FORMAT_BGR24:
             i_chroma = VLC_CODEC_RGB24;
+            bytesPerPixel = 24;
             break;
-        case 32:
+        case PIXEL_FORMAT_BGRA32:
             i_chroma = VLC_CODEC_RGB32;
+            bytesPerPixel = 32;
             break;
     }
     es_format_t fmt;
@@ -176,7 +170,7 @@
     fmt.video.i_height = p_gdi->height;
     fmt.video.i_frame_rate_base = 1000;
     fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
-    p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel;
+    p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * bytesPerPixel;

     if ( p_sys->p_block )
         p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize );
@@ -237,28 +231,19 @@
     vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;

     msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))
              p_instance->settings->DesktopWidth,
              p_instance->settings->DesktopHeight,
              p_instance->settings->ColorDepth
-#else
-             p_instance->settings->width,
-             p_instance->settings->height,
-             p_instance->settings->color_depth
-#endif
              );

     p_instance->update->DesktopResize = desktopResizeHandler;
     p_instance->update->BeginPaint = beginPaintHandler;
     p_instance->update->EndPaint = endPaintHandler;

-    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 );
+    if ( p_instance->settings->ColorDepth > 16 )
+        gdi_init( p_instance, PIXEL_FORMAT_XRGB32);
+    else
+        gdi_init( p_instance, PIXEL_FORMAT_RGB16);

     desktopResizeHandler( p_instance->context );
     return true;
@@ -432,10 +417,6 @@
     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 )
     {
@@ -471,25 +452,24 @@
     if ( ! freerdp_connect( p_sys->p_instance ) )
     {
         msg_Err( p_demux, "can't connect to rdp server" );
-        goto error;
+        freerdp_free( p_sys->p_instance );
+        free( p_sys->psz_hostname );
+        return VLC_EGENERIC;
     }

     if ( vlc_clone( &p_sys->thread, DemuxThread, p_demux, VLC_THREAD_PRIORITY_INPUT ) != VLC_SUCCESS )
     {
         msg_Err( p_demux, "can't spawn thread" );
         freerdp_disconnect( p_sys->p_instance );
-        goto error;
+        freerdp_free( p_sys->p_instance );
+        free( p_sys->psz_hostname );
+        return VLC_EGENERIC;
     }

     p_demux->pf_demux = NULL;
     p_demux->pf_control = Control;

     return VLC_SUCCESS;
-
-error:
-    freerdp_free( p_sys->p_instance );
-    free( p_sys->psz_hostname );
-    return VLC_EGENERIC;
}

/*****************************************************************************
@@ -508,9 +488,6 @@

     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 );

Ответить | Правка | Наверх | Cообщить модератору

257. "Выпуск медиаплеера VLC 3.0.0"  +/
Сообщение от Ne01eX (ok), 18-Фев-18, 03:08 
В общем, заслал патч в оркестр разрабам, вот только никакой реакции до сих пор не последовало. :-(

А там ещё работы (со всем модулями) непочатый край... :-\

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру