[vlc-devel] VLC technical meeting notes
Edward Wang
edward.c.wang at compdigitec.com
Sat Sep 20 15:41:37 CEST 2014
Hello,
Here are the session notes from the VLC technical meeting, Google Docks,
20 September 2014, 14:00
Colour spaces
We have some problematic assumptions
4 different formats
Add to core? should be much easier than rotation in 3D
Decoders way too slow
2.2.0 Blockers
Playback resume not working on Mac (#11981)
Restarting playback from beginning is blocked on Qt (#12061)
Use after free (dirac) BLOCKER (#12051)
MacOSX core issues - crash MKV; probably a race condition (#11488)
Regression in taglib (#11976)
Art/meta fetcher bug (#10373)
3.0.0 Schedule
December freeze?
What's new? nothing?
libVLC vfilter API
A filter now has to be restarted to change a value
Need a core function to set specific filter values on a specific
vout e.g. adjust, brightness on a specific vout, freetype options
UI still uses vlc_object_find_name() with no replacement
Felix code, TypX review
Smem
What's missing for it to be supported? a proper API
Need a sout API
How difficult to provide a sout API?
Depends on feature set.
smem takes a pointer and you can't pass it as a sout argument
Can be used for transcoding
Win32 code signing
JB got a correct validated key
Authenticode by VeriSign
Actually works
Sign exe
What about DLLs??
Mac is signing library
Build system: Makefile option (see Mac option)
geal can do it this weekend
YouTube libVLC
Need fuzzing of VLC with lots of CPUs
Want to test decodes/output as fast as possible
What is the fastest way?
Use dummy modules or modified sout
Doesn't work with current modules because of pace control
Daala encoding (tmatth)
daala files created in vlc don't play with daala's example player,
maybe an ogg muxing issue
^ solved: daala's player example doesn't support skeleton streams,
patches sen
Tim/InTheWings
3.0?
Disabled by default
Dialog warning unstable API
libvlc Mouse events
No way to forward actual mouse events
Felix/courmisch discuss about it.
HLS
Why is it as a access_demux?
MMS is access only because it outputs a byte stream
For dash/HLS we need the module to be an access demux as we need to
seek by time for selecting the tracks
We could add a new control commands to avoid reimplementing another TS
HLS can output ESes
Francois will look at the code
Wayland / vout window
courmisch: sort of working, base
partly working RGB plane
vgl almost working (need vout changes)
screen capture
No vaapi integration
vdpau no API in wayland ATM.
vout doesn't need a window
Theoretical bug xvideo fails → framebuffer (should not do this)
Needs fixing
OpenGL bump on Linux
Bump above xv
People with ATI drivers blocking this
OpenGL implementation is bad, might be bad idea → complaining
But gives subtitles
No vsync with xvideo subtitles {blinking)
Can we bump only with specific drivers confirmed to work?
Plain OpenGL doesn't have shaders, can't use
Chrome just disables xvideo on Linux because it's too buggy
Decision: bump and blacklist ATI/old drivers. (mention it in NEWS -
test!)
Subtitle scaling
One is rendered directly in VLC (Freetype)
Everything is rendered in the target resolution of vout
Picture-based subtitle sources (dvb teletext)
Resolution of video - need to be scaled (painful)
Multiple subpictures
Video output might not know how to scale each subpictures
e.g. dvb - shade of x for 2 lines, 4 pictures; text can be split in
the middle of a line; have to push them together
Either scaling algorithm adapts or 2 step process where were
1)compose all subpictures then 2) scale them togoether
Julian Schneel has hackish stuff in MMAL stuff but breaks
w/multiple reference domains
courmisch: basically you can already do it; you need reference size
to get the proper scaling
We should take a look at the code of that part...
Systemd
Build time option
Make it optional
Journald dependency
We are going to get killed
Screensavers
Fix xfce, good luck
Does not work with xfce
Need a workaround
HEVC
Little support yet
Coming on various mailing lists, patches sent
OpenMAX
Flag vout
Flag to avoid video output if you are in transcoding chain
Boolean to tell the vout what to do ← courmisch
You need to know that to tell the core to get the right type of buffers
Separate getting picture and changing video format
Long time problem, need core refactoring
Decoder has stale reference frames if vout changes; libav refuses
to fix
Can we fix it? probably. Not leaking pictures, not so sure
BD
Menus without no videos
Make a fake video to show the menu (fake ES) when the menu is showing
When real video returns, make the fake video ES track go away
Do not create vout windows
Or fake video codec
Bluray: needs to ship .jar code (750 KB)
Easy on Windows
Just check if Java is usable, else fail
C++11
auto<auto> auto = auto, (auto<auto>)auto;
Made compilable
configure.ac check for support...see
https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
Windows threads
RTTI hell
There is no objection but you need to write the autoconf part.
Torrents
Popcorn time
WebKit nginx
HTML UI to allow you to play any torrent very fast.
They have millions of users and features everywhere, including NYT
They read the torrent streams in sequential order
Quite an easy way to watch top torrents compared to downloading it
Will destroy the swarm but should we bring it back?
Shady and questionable e.g. edonkey access
Use a sd
Need access for magnet
Or use a playlist demux which opens a torrent and gives the same access
Legal implications: no idea
Do we want it in the default installation? Main code base or
separate plugins?
If we are not able to build it
uPnP renderer and sender
Not working
Dirty fix with xspf
Nobody is working on it and it will never be fixed
Jean-Paul will work on that
NaCl / Chrome OS
courmisch is interested in doing vout, aout, base libvlc
Do we need pNaCl or NaCl? use NaCl because of libav.
Different bounties for logical units
We will have no networking
Who's going to maintain it?
Disable networking
Does this make sense --disable-networking
jb might assign it to people
mDNS
mDNS Chromecast service discovery, detecting FTP, samba shares from NAS
For VLC remote apps will be used as a way to discover VLC instances
C++ binding
C++ sucks
Golang?
Lua binding
Haskell
Fortran
Python is good
Fork hpp or regenerating?
More information about the vlc-devel
mailing list