Почему использование метода Seek в DBus VL C дает так много ошибок? - PullRequest
1 голос
/ 28 января 2020

Я пытался использовать DBus для управления VL C, и мне удалось заставить все работать нормально, кроме функции Seek, которая "работает", но дает мне массу ошибок.

Vl c начиная с флага -v и URL ссылки на Youtube:

VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7)
[01623920] main interface error: no suitable interface module
[0159ab58] main libvlc error: interface "globalhotkeys,none" initialization failed
[01623920] dummy interface: using the dummy interface module...
[61d1b068] mp4 demux warning: elst box found
[61d1b068] mp4 demux warning: STTS table of 1 entries
[61d1b068] mp4 demux warning: CTTS table of 33045 entries
[61d1b068] mp4 demux warning: STTS table of 1 entries
[6157f788] mmal_codec decoder: VCSM init succeeded: Legacy
[615f5710] faad decoder warning: decoded zero sample
[62602618] gles2 generic error: parent window not available
[62602130] mmal_xsplitter vout display error: Failed to open Xsplitter:opengles2 module
[62602618] xcb generic error: window not available
[62602130] mmal_xsplitter vout display error: Failed to open Xsplitter:xcb_x11 module

VL C log, когда я пытаюсь использовать Seek:

[62602618] mmal_vout generic warning: Unsupported control query 4 [6157f788] main decoder error: buffer deadlock prevented [016295c0] main video output warning: picture is too late to be displayed (missing 43 ms) [01615ae0] main audio output warning: playback too late (61289): up-sampling [01615ae0] main audio output warning: timing screwed (drift: 125557 us): stopping resampling [01615ae0] main audio output warning: playback too late (134644): up-sampling [01615ae0] main audio output warning: playback way too late (185671): flushing buffers [01615ae0] pulse audio output warning: starting late (-13368 us) [01615ae0] main audio output warning: playback way too early (-562329): playing silence [01615ae0] main audio output warning: playback too late (63592): up-sampling [01615ae0] main audio output warning: playback way too late (316071): flushing buffers [01615ae0] pulse audio output warning: starting late (-11502 us) [01615ae0] main audio output warning: playback way too early (-724374): playing silence [01615ae0] main audio output warning: playback too late (64426): up-sampling*

I Я использую vl c для потоковой передачи на YouTube, а вызов DBus:

function omxdbus {
   dbus-send --type=method_call --reply-timeout=550 -- 
   dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 $*
}
omxdbus org.mpris.MediaPlayer2.Player.Seek int64:$offset >/dev/null

Смещение - время в микросекундах (я использую 10 000 000, чтобы пропустить 10se c). Все работает на Raspbian Lite на Raspberry 2b. Я много искал проблему, но ничего не появляется. (Примечание: vl c действительно может прыгнуть 10 se c очень хорошо (1/2 se c задержка)).

Заранее спасибо!

...