[vlc-devel] VLC technical meeting notes

Edward Wang edward.c.wang at compdigitec.com
Sat Sep 20 15:41:37 CEST 2014


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

     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
     Disabled by default
     Dialog warning unstable API

libvlc Mouse events
     No way to forward actual mouse events
     Felix/courmisch discuss about it.

     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 - 

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...

     Build time option
     Make it optional
     Journald dependency
     We are going to get killed

     Fix xfce, good luck
     Does not work with xfce
     Need a workaround

     Little support yet
     Coming on various mailing lists, patches sent

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

     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

     auto<auto> auto = auto, (auto<auto>)auto;
     Made compilable
     configure.ac check for support...see 
     Windows threads
     RTTI hell
     There is no objection but you need to write the autoconf part.

     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 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
     Lua binding
     Python is good
     Fork hpp or regenerating?

More information about the vlc-devel mailing list