Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 647668 - media-video/vlc-3.0.0-r2 playback via chromecast not possible
Summary: media-video/vlc-3.0.0-r2 playback via chromecast not possible
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-14 22:00 UTC by Frank Krömmelbein
Modified: 2018-03-01 20:51 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
screenshot-modules.jpg (chromecast.jpg,42.91 KB, image/jpeg)
2018-02-14 23:00 UTC, Frank Krömmelbein
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Krömmelbein 2018-02-14 22:00:09 UTC
My chromecast device will not be shown under Renderer menu entry.
With google chrome, i can use my chromecast device.
Also under windows on the same computer, vlc also finds and can use my chromecast device.
Did i need to activate addional useflags, or something else needs to be configured? 

Portage 2.3.19 (python 3.5.4-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-6.4.0, glibc-2.25-r10, 4.14.18-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.14.18-gentoo-x86_64-Intel-R-_Core-TM-_i7-2630QM_CPU_@_2.00GHz-with-gentoo-2.4.1
KiB Mem:    20528556 total,  14820372 free
KiB Swap:          0 total,         0 free
Head commit of repository gentoo: fab2f5078f7e0f7d6899c4735ae9502d7bcad518

sh bash 4.4_p12
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.3::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.34.11::gentoo
sys-apps/sandbox:         2.12::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.15.1-r1::gentoo
sys-devel/binutils:       2.29.1-r1::gentoo
sys-devel/gcc:            6.4.0-r1::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r10::gentoo
Repositories:

gentoo
    location: /mnt/sda7/portage
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/gentoo.git
    priority: -1000

mylocal
    location: /usr/local/portage
    masters: gentoo
    priority: 0

steam-overlay
    location: /var/lib/layman/steam-overlay
    sync-type: laymansync
    sync-uri: git://github.com/anyc/steam-overlay.git
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=corei7 -O2 -pipe"
DISTDIR="/mnt/sdb1/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aacs acl acpi activities alsa amd64 amr berkdb bluetooth bluray branding btrfs bzip2 cairo cdda cddb cdr cec chipcard clamav cli color-management consolekit crypt cryptsetup css cups cxx dbus declarative device-mapper djvu dmraid dri dts dvb dvd dvdr ebook emboss eme-free encode epub exif ext4 f2fs faac fam fat ffmpeg flac fortran fuse gdbm geoip gif gimp glamor google googledrive gpg gphoto2 gpm gtk hardened hbci http2 iconv id3tag infinality ipv6 jfs joystick jpeg kde kipi kwallet ladspa lame lcms ldap lensfun libnotify libsamplerate linguas_de lirc lm_sensors lvm lz4 lzma mad matroska mdadm mjpeg mmx mng mobi modemmanager modules mp3 mp4 mpeg mtp multilib mysql ncurses networkmanager nfs nls nptl ntfs nvenc office ogg opencl opengl openmp opus orc pam pango pcre pdf phonon plasma plymouth pm-utils png policykit postscript ppds ppp pvr qml qt3support qt5 qtmedia rar raw rdesktop rdp readline reiser4 reiserfs rubberband s3tc samba scanner sdl seccomp semantic-desktop sftp share smartcard smp sndfile sox speech spell spice squashfs sse sse2 ssl startup-notification svg taglib tcpd thumbnail tiff touchpad truetype twolame udev udf udisks unicode upnp upower usb v4l vaapi vcd vdpau vnc vorbis vpx vulkan webp widgets wifi wps wxwidgets x264 x265 xattr xcb xcomposite xfs xkb xml xv xvid xvmc yubikey zeroconf zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_EXPERIMENTAL_FEATURES="braindump stage" CALLIGRA_FEATURES="karbon plan sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev keyboard joystick mouse synaptics" KERNEL="linux" L10N="de en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="intel i965 fbdev vesa nouveau nvidia radeon radeonsi amdgpu dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

media-video/vlc-3.0.0-r1::gentoo was built with the following:
USE="X a52 alsa archive avcodec avformat bluray cddb chromecast dbus dts dvb dvbpsi dvd encode ffmpeg flac gcrypt jpeg libnotify libsamplerate lirc matroska mp3 mpeg mtp ncurses nfs ogg opengl opus png qt5 rdp samba sftp svg swscale taglib truetype twolame udev upnp v4l vaapi vcd vdpau vnc vorbis vpx x264 x265 xcb xml xv zeroconf -aalib (-altivec) (-aom) -bidi -chromaprint -dc1394 -debug (-directx) (-dxva2) -faad -fdk -fluidsynth -fontconfig -gme -gnome-keyring -gnutls -gstreamer -ieee1394 -jack -kate -libass -libav -libcaca -libtar -libtiger -linsys -live -lua -macosx-notifications (-macosx-qtkit) -modplug -musepack (-neon) -omxil -opencv -optimisememory -postproc -projectm -pulseaudio -rtsp -run-as-root -schroedinger -sdl-image -shout -sid -skins -speex -test -theora -tremor -vlm -wayland -wma-fixed -zvbi" ABI_X86="(64)" CPU_FLAGS_X86="mmx sse"
CXXFLAGS="-march=corei7 -O2 -pipe -std=c++11"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -L/usr/lib64/sidplay/builders/"
Comment 1 Andreas Sturmlechner gentoo-dev 2018-02-14 22:17:54 UTC
I don't have a chromecast but building vlc with USE=chromecast properly makes it link against dev-libs/protobuf-3.5.1.1 on my system. There is nothing else the build system needs for chromecast support.
Comment 2 Frank Krömmelbein 2018-02-14 22:59:57 UTC
(In reply to Andreas Sturmlechner from comment #1)
> I don't have a chromecast but building vlc with USE=chromecast properly
> makes it link against dev-libs/protobuf-3.5.1.1 on my system. There is
> nothing else the build system needs for chromecast support.

First of all thank you for your quick response.
I have now upgraded to version 3.5.1.1 of dev-libs/protobuf from stable 3.1.0. But the device did not appear as menu entry. I also tried it as root with vlc-wrapper, also without success.
I can see under plugins and extensions, that there a 4 modules available for chromecast support, screenshot attached.
But something seems to be missing or still needs to be configured somewhere.
Very strange...
Comment 3 Frank Krömmelbein 2018-02-14 23:00:36 UTC
Created attachment 519578 [details]
screenshot-modules.jpg
Comment 4 Andreas Sturmlechner gentoo-dev 2018-02-16 01:23:56 UTC
The commit that added USE=chromecast to 9999 (1b4324c1) contains:

>Added chromecast support. To use, run -sout="#chromecast{ip=xxx.xxx.xxx.xxx}"

That indicates USE=chromecast should require USE=enode, but you have that enabled as well.
Comment 5 Andreas Sturmlechner gentoo-dev 2018-02-17 16:26:15 UTC
Can you try with USE=vlm enabled?
Comment 6 Frank Krömmelbein 2018-02-17 18:57:49 UTC
(In reply to Andreas Sturmlechner from comment #5)
> Can you try with USE=vlm enabled?

Unfortunately, no difference.
I am currently playing with the software wireshark, and I can already see that there is definitely a communication between my Gentoo and the chromecast:
192.168.1.125 = my gentoo machine, 192.168.1.113 = chromecast

165	30.703126540	192.168.1.125	192.168.1.113	AJP13	181	AJP13 Error? [TCP segment of a reassembled PDU]

I will try next weekend to compare the output of vlc under windows and linux, maybe I will find something.
Comment 7 Chris Smith 2018-02-20 03:28:57 UTC
Same issue here, with media-video/vlc-3.0.0-r2 as well.

Can cast from my browser just fine but VLC does not find the device.
Comment 8 Larry the Git Cow gentoo-dev 2018-02-25 22:58:02 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e9580a0446a03a4fb89375b2c3e03671cf6395c

commit 6e9580a0446a03a4fb89375b2c3e03671cf6395c
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-02-25 22:56:17 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-02-25 22:57:41 +0000

    media-video/vlc: USE=chromecast needs USE=encode
    
    Bug: https://bugs.gentoo.org/647668
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 media-video/vlc/vlc-3.0.0-r2.ebuild | 1 +
 media-video/vlc/vlc-3.0.9999.ebuild | 1 +
 media-video/vlc/vlc-9999.ebuild     | 1 +
 3 files changed, 3 insertions(+)}
Comment 9 Frank Krömmelbein 2018-02-26 00:10:06 UTC
and yet it runs, at least via the command line:

vlc --sout="#chromecast{ip=192.168.1.113}" ./test.mp4

VLC media player 3.0.0 Vetinari (revision 3.0.0-30-gef4c265336)
[0000559cffd00250] main libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden.
[0000559cffdd0820] qt interface error: Unable to load extensions module
[00007efdec003db0] gnutls tls client error: Certificate verification failure: The certificate is NOT trusted. The certificate issuer is unknown. The certificate chain uses insecure algorithm. The name in the certificate does not match the expected. 
[00007efdec003db0] gnutls tls client: Accepting self-signed/untrusted CA certificate.
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu


The device still does NOT appear in the GUI. 
I had seen this week by chance that the chromecast itself had received an firmware update. 
I had reversed the update of dev-libs/protobuf back to the stable version. However, there was probably a stabilization update of some libraries and a rebuild of vlc itself in the meantime.
Whether the firmware update has helped or it was just a coincidence that it is now working, I can not say.


The encode feature is apparently only used when jumping to another timestamp in the video. It then sometimes takes up to ~10 seconds for the video to play back correctly, but that seems systemic with the chromecast. Here is an example output:

[00007fd24ca07180] x264 encoder: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX

[00007fd24ca07180] x264 encoder: profile High, level 3.1

[00007fd2780009e0] main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 300 ms)
[00007fd24ca06dd0] avcodec generic: Using NVIDIA VDPAU Driver Shared Library  390.25  Wed Jan 24 19:28:27 PST 2018 for hardware decoding
[00007fd272a090f0] main decoder error: buffer deadlock prevented
[00007fd24ca07180] x264 encoder: using SAR=1/1

[00007fd24ca07180] x264 encoder: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX

[00007fd24ca07180] x264 encoder: profile High, level 3.1

[matroska @ 0x7fd24c0028a0] pts (18181893) < dts (18182829) in stream 1
[00007fd24c0024f0] avformat mux error: could not write frame (pts: 18181893144, dts: 18182829879) (pkt pts: 18181893, dts: 18182829)
[matroska @ 0x7fd24c0028a0] pts (18182053) < dts (18182869) in stream 1
[00007fd24c0024f0] avformat mux error: could not write frame (pts: 18182053144, dts: 18182869879) (pkt pts: 18182053, dts: 18182869)
[matroska @ 0x7fd24c0028a0] pts (18190390) < dts (18191293) in stream 1
[00007fd24c0024f0] avformat mux error: could not write frame (pts: 18190390787, dts: 18191293144) (pkt pts: 18190390, dts: 18191293)
[matroska @ 0x7fd24c0028a0] pts (18190470) < dts (18191333) in stream 1
[00007fd24c0024f0] avformat mux error: could not write frame (pts: 18190470787, dts: 18191333144) (pkt pts: 18190470, dts: 18191333)
[matroska @ 0x7fd24c0028a0] pts (18194510) < dts (18195790) in stream 1
[00007fd24c0024f0] avformat mux error: could not write frame (pts: 18194510282, dts: 18195790787) (pkt pts: 18194510, dts: 18195790)
[matroska @ 0x7fd24c0028a0] pts (18194670) < dts (18195830) in stream 1
[00007fd24c0024f0] avformat mux error: could not write frame (pts: 18194670282, dts: 18195830787) (pkt pts: 18194670, dts: 18195830)


I will try the 3.0.9999 version the next days, maybe it will work then directly via GUI.
Comment 10 Joost Ruis 2018-02-26 18:28:53 UTC
Same for me, even with encode use flag enabled.
Comment 11 Frank Krömmelbein 2018-02-27 18:50:04 UTC
With the new 3.0.1 version (renamed existing ebuild) chromecast support is again completely broken for me. TV goes black for a short time, but the buffering sequence will not shown anymore. On the console I dont see any errors.
Downgrade back to 3.0.0, the playback works again ...

VLC media player 3.0.1 Vetinari (revision 3.0.1-0-gec0f700fcc)
Comment 12 Larry the Git Cow gentoo-dev 2018-03-01 20:51:34 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=232f954250b035d44fc0c8a4df5785575b46587a

commit 232f954250b035d44fc0c8a4df5785575b46587a
Author:     NP-Hardass <NP-Hardass@gentoo.org>
AuthorDate: 2018-03-01 20:51:02 +0000
Commit:     NP-Hardass <NP-Hardass@gentoo.org>
CommitDate: 2018-03-01 20:51:02 +0000

    media-video/vlc: Fix chromecast auto-detection
    
    Chromecasts will now be autodetected when using USE=microdns to provide
    Chromecast mdns support.  Autodetected Chromecasts display in the
    Playback->Renderer submenu.
    
    Closes: https://bugs.gentoo.org/647668
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 media-video/vlc/metadata.xml                          |  1 +
 .../vlc/{vlc-3.0.0-r2.ebuild => vlc-3.0.0-r3.ebuild}  | 19 ++++++++++++++-----
 media-video/vlc/vlc-3.0.9999.ebuild                   | 19 ++++++++++++++-----
 media-video/vlc/vlc-9999.ebuild                       | 19 ++++++++++++++-----
 4 files changed, 43 insertions(+), 15 deletions(-)