Bug 207397

Summary: multimedia/vlc: No DVB-T playback
Product: Ports & Packages Reporter: Tobias Kortkamp <tobik>
Component: Individual Port(s)Assignee: Koop Mast <kwm>
Status: Closed FIXED    
Severity: Affects Some People CC: hselasky, kwm
Priority: --- Flags: bugzilla: maintainer-feedback? (multimedia)
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://forums.freebsd.org/threads/55219/
Attachments:
Description Flags
vlc.diff
none
vlc.diff
none
vlc.diff none

Description Tobias Kortkamp freebsd_committer freebsd_triage 2016-02-21 17:59:02 UTC
Trying to watch TV with an USB DVB-T adapter, webcamd, and VLC fails with error messages like:

> core input error: open of `dvb-t://frequency=642000000,inversion=2,bandwidth=8,code-rate-hp=9,code-rate-lp=9,modulation=0,transmission=0,guard=0,hierarchy=0' failed

It works with multimedia/mpv.  Do I need to enable an option in the VLC port or is it broken?
Comment 1 Hans Petter Selasky freebsd_committer freebsd_triage 2016-02-22 06:53:01 UTC
Hi,

Can you try:

vlc dvb://

And make sure vlc has access to /dev/dvb/....

--HPS
Comment 2 Tobias Kortkamp freebsd_committer freebsd_triage 2016-02-22 07:31:56 UTC
Ran vlc -vvvv dvb:// but it does not work (I can attach the whole output if needed):

> [0000000818c15150] core access debug: no access modules matched
> [...]
> [000000081880f070] core input error: open of `dvb://' failed

Same with dvb-t://. It works with mpv dvb://, so /dev/dvb/... is definitely accessible.

These plugins are suspiciously missing on FreeBSD, but are available on Debian for example:
> lib/vlc/plugins/access/libdtv_plugin.so
> lib/vlc/plugins/access/libdvb_plugin.so
Comment 3 Hans Petter Selasky freebsd_committer freebsd_triage 2016-02-22 07:34:58 UTC
Hi,

It might be you need to build vlc, after installing webcamd. Try to enable V4L support in VLC when building.

The DVB feature is not broken in VLC under FreeBSD.

--HPS
Comment 4 Tobias Kortkamp freebsd_committer freebsd_triage 2016-02-22 08:09:08 UTC
Created attachment 167286 [details]
vlc.diff

I try to install from packages when possible and V4L is enabled by
default.

I fixed it now.  The problem was that multimedia/vlc did not declare 
a build dependency on multimedia/v4l_compat when V4L is enabled
leading to the default package not having a DVB plugin (see attached patch).

VLC now also installs the missing access modules libdvb_plugin and
vlc dvb:// now works.
Comment 5 Tobias Kortkamp freebsd_committer freebsd_triage 2016-02-22 08:17:43 UTC
Created attachment 167287 [details]
vlc.diff

Fixed white space in patch.
Comment 6 Tobias Kortkamp freebsd_committer freebsd_triage 2016-02-22 08:20:35 UTC
Created attachment 167288 [details]
vlc.diff
Comment 7 commit-hook freebsd_committer freebsd_triage 2016-02-22 12:33:47 UTC
A commit references this bug:

Author: kwm
Date: Mon Feb 22 12:32:47 UTC 2016
New revision: 409337
URL: https://svnweb.freebsd.org/changeset/ports/409337

Log:
  Add a build depend on v4l_compat when the V4L option is enabled (which is
  by default). So dvb support is enabled and build. This allows vlc to
  understand dvb:// uri's again.

  PR:		207397
  Submitted by:	Tobias Kortkamp <t@tobik.me>

Changes:
  head/multimedia/vlc/Makefile
Comment 8 Koop Mast freebsd_committer freebsd_triage 2016-02-22 12:35:06 UTC
Committed (with a small change), thanks!