google / google/sagetv

LinuxMPlayerPlugin.java: video out parameter?

Open
#483 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
287
Forks
172
PR merge metrics
No merged PRs in 30d

Description

Hi, I'm having difficulty getting video to play via sagetv linux client on ubuntu 22.04 (audio works with manual addition of libpng12-0).

Can someone please sanity check me on this?...

Sage's mplayer v1.4 always fails with "Error opening/initializing the selected video_out (-vo) device". Note: the file plays fine (video & audio) when run from directly. i.e.: ./mplayer stv://192.168.x.x//mnt/sagetv/recorded-file.ts.

Reviewing sagetv/java/sage/LinuxMPlayerPlugin.Java (lines 440-450: https://github.com/google/sagetv/blob/14a97fbe7cd0fb190419da39ac60ef7d5831e3ab/java/sage/LinuxMPlayerPlugin.java#L440-L450), shows there are only two output device options passed from sage into mplayer: "-vo xvmc" or "-vo xv" (controlled by SageTVPlacehifter.properties: mplayer/xvmc=true/false).

What I don't understand... neither of these output devices exist within sage's mplayer version.
./mplayer -vo help yields the following output device options:
MPlayer dev-SVN-rUNKNOWN-4.8 (C) 2000-2007 MPlayer Team
stv SageTV Miniclient
x11 X11 ( XImage/Shm )
xover General X11 driver for overlay capable video output drivers
xvidix X11 (VIDIX)
cvidix console VIDIX
null Null video output
mpegpes Mpeg-PES to DVB card
yuv4mpeg yuv4mpeg output for mjpegtools
png PNG file
jpeg JPEG file
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame

"xv" & "xvmc" are both missing.
So, how could this have ever worked?

In contrast, native mplayer does include "xv" and "xvmc" output options:
MPlayer 1.4 (Debian), built with gcc-11 (C) 2000-2019 MPlayer Team
Available video output drivers:
vdpau VDPAU with X11
xv X11/Xv
gl_nosw OpenGL no software rendering
x11 X11 ( XImage/Shm )
xover General X11 driver for overlay capable video output drivers
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
gl OpenGL
gl_tiled X11 (OpenGL) - multiple textures version
dga DGA ( Direct Graphic Access V2.0 )
fbdev Framebuffer Device
fbdev2 Framebuffer Device
matrixview MatrixView (OpenGL)
aa AAlib
caca libcaca
v4l2 V4L2 MPEG Video Decoder Output
xvidix X11 (VIDIX)
cvidix console VIDIX
null Null video output
xvmc XVideo Motion Compensation
mpegpes MPEG-PES to DVB card
yuv4mpeg yuv4mpeg output for mjpegtools
png PNG file
jpeg JPEG file
gif89a animated GIF output
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
mng MNG file

Is the fix as simple as a new config flag: mplayer/video_output=auto/xyz.. and strip or adjust the hard-coded "-vo" parameter? Feels as though I'm missing something obvious.
Thoughts?

Contributor guide

Open the contributing guide

Research direction

Start in sage/LinuxMPlayerPlugin.java around lines 440-450 and review how SageTVPlacehifter.properties controls mplayer/xvmc. Compare the hard-coded -vo values with the bundled MPlayer output from -vo help and the native MPlayer output. Done means identifying a compatible configuration or code path that allows Linux video playback to initialize, with the relevant playback case working.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, linux
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.