#android #libvlc
#Android #libvlc
Вопрос:
Внимание, здесь новичок-разработчик Android… Так что моя терминология может быть немного неточной 😉
У меня есть небольшое приложение, которое я написал для Android, которое использует LibVLC (последняя версия, 3.0.XX).
Когда я когда-либо инициализирую свой видеоплеер, я получаю следующее:
10-22 04:20:03.365 22293 22601 E VLC : [d27d4630/5849] libvlc window: request 1 not implemented
10-22 04:20:03.366 22293 22601 E VLC : [d2855430/5849] libvlc vout display: can't get Subtitles Surface
10-22 04:20:03.371 22293 22601 E VLC : [d27d4630/5849] libvlc window: request 0 not implemented
10-22 04:20:03.371 22293 22601 E VLC : [d27d4630/5849] libvlc window: request 0 not implemented
10-22 04:20:03.371 22293 22601 E VLC : [d27d4630/5849] libvlc window: request 1 not implemented
Под инициализацией я подразумеваю загрузку новых носителей через setMedia(...)
. Хотя это могло бы происходить и на play()
мероприятии.
Они довольно безвредны, так как все работает просто отлично, но, если возможно, я хотел бы отключить все, что пытается сделать libvlc, из-за чего они появляются.
А) Запросы окна, по-видимому, связаны с событиями, связанными с мышью, которые Android не поддерживает, и, следовательно, они терпят неудачу. Я попытался перейти --no-mouse
в качестве опции к libvlc, но безрезультатно… Это не помогло.
B) Отображение vout, по-видимому, связано с тем, где должны отображаться субтитры. Я не использую их и никогда не буду использовать, поэтому я попытался передать несколько различных опций в свой libvlc init, чтобы отключить субтитры все вместе, но ничего из этого не помогло.
Есть идеи, как очистить инициализацию libvlc / mediaplayer / vout / media, чтобы они не загрязняли мои журналы?
Спасибо!
Ответ №1:
А) Запросы окна, по-видимому, связаны с событиями, связанными с мышью, которые Android не поддерживает, и, следовательно, они терпят неудачу. Я попытался передать —no-mouse в качестве опции для libvlc, но без кубиков… Это не помогло.
Боюсь, помимо отключения журналов, вы не сможете их подавить.
static int Control(vout_window_t *wnd, int cmd, va_list ap)
{
(void) ap;
msg_Err (wnd, "request %d not implemented", cmd);
return VLC_EGENERIC;
}
B) Отображение vout, по-видимому, связано с тем, где должны отображаться субтитры. Я не использую их и никогда не буду использовать, поэтому я попытался передать несколько различных опций в свой libvlc init, чтобы отключить субтитры все вместе, но ничего из этого не помогло.
Вы не поделились тем, как вы реализовали свои surfaces / awindow / videoviews, но предоставили поверхность для субтитров, даже если вы не планируете их использовать. Это приведет к удалению журнала.
if (AndroidWindow_ConnectSurface(sys, p_window) != 0)
{
if (id == AWindow_Video)
msg_Err(vd, "can't get Video Surface");
else if (id == AWindow_Subtitles)
msg_Err(vd, "can't get Subtitles Surface");
goto error;
}