Ubuntu 14.04.2 LTS again messed up my tvtuner / VLC setup. After few recent updates, nothing worked anymore and the logs were useless.

After rebuilding various VLC versions, activating debug logging (and assertions) and pouring through the logs, I was able to get everything back on track. There were many things changed (but not my config that used to work for many years until few months ago).

Below is the sequence of errors that had to be fixed to get everything behaving …

a)

Fix: I never had the --telnet-password in my command line for many years, as VLC assumed to be ‘admin’ if missing. Now it seemed it magically became mandatory somehow.

b) many of the VLC modules are enabled-auto. In the huge log of configure, it is really hard to tell if a missing -dev library cancels a module or not – so the best is to force it enabled, then you get an error.

My configure arguments are (for VLC 3.0.0 )

c)

I found that I needed the libmux_ts_plugin.la to be built, but some how it wasn’t. Checking the modules/mux/Makefile, it seemed that it was commented out!

Checking further into modules/mux/Makefile.in we find:

It was like I didn’t have the --enable-dvbpsi added as argument to the configure script although it is set to auto:

(by now it looks that the auto mode is more like don't care if it is built or not mode)

Anyway, the fix was simple – install the missing lib dependency so that the TS module as all requirements met, as well as adding the --enable-dvbpsi argument to the configure command line just to make sure.

d)

There was a problem that I could not put my finger on it. Everything was starting up, telnet interface, streaming, etc, BUT a second later, all the modules were starting to be deactivated and shut down and VLC exit. By now I learned the configure --help and in one of the rebuilds, I have activated the debug logging (assertions).

I had the file where the error occurred – but not the variable name. A printf statement later, and it turned out that the variable name that triggered the assertion was sout-x264-opengop.

This is another problem with the VLC code. Although it did detect the existing x264 encoder version, it did not complain that it was NOT handled within the multitude of #defines that litter the code:

I realized that I have no chance of getting through this other than by purging existing x264 encoder and building from source the x264 provided by VLC: https://wiki.videolan.org/Git#Getting_VLC_or_x264_source_code_via_Git

e) approaching the finish, but not quite there yet.

Now everything was starting to come alive. Modules were loaded, I could connect, but only sound was streamed, no video. Checking the vlc -vvv logs:

Few Google searches later, I found https://forum.videolan.org/viewtopic.php?t=119531 where people blame the driver. OK, it might be the driver, but a recent update of Ubuntu changed that then, since everything worked fine for the past few years. The workaround seems to set the chroma option to YUYV :v4l2-chroma=YUYV

f) There were still few errors in the logs, related to lua :

Here it turned out that I had a version mismatch. lua compiler version 5.2 installed, but the both libs 5.1 as well as 5.2. Somehow VLC picked up the old lib ? Anyway, I had to cleanup just to make sure only version 5.2 is installed.

Now everything is back on track, but I’m afraid of updating Ubuntu again, who knows what next ?