mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
724 lines
21 KiB
Diff
724 lines
21 KiB
Diff
diff --git a/mythtv/configure b/mythtv/configure
|
|
index 1efe803..7bcdf06 100755
|
|
--- a/mythtv/configure
|
|
+++ b/mythtv/configure
|
|
@@ -109,7 +109,8 @@ Advanced options (experts only):
|
|
--disable-iptv disable support for recording RTSP/UDP/RTP streams
|
|
--disable-hdhomerun disable support for HDHomeRun boxes
|
|
--disable-v4l disable Video4Linux support
|
|
- --disable-ivtv disable ivtv support (PVR-x50) req. v4l support
|
|
+ --disable-v4l2 disable Video4Linux2 support
|
|
+ --disable-ivtv disable ivtv support (PVR-x50) req. v4l2 support
|
|
--disable-hdpvr disable HD-PVR support
|
|
--disable-dvb disable DVB support
|
|
--dvb-path=HDRLOC location of directory containing
|
|
@@ -1315,6 +1316,7 @@ MYTHTV_CONFIG_LIST='
|
|
qtwebkit
|
|
quartz_video
|
|
v4l
|
|
+ v4l2
|
|
valgrind
|
|
x11
|
|
xrandr
|
|
@@ -1706,8 +1708,8 @@ audio_oss_deps_any="soundcard_h sys_soundcard_h"
|
|
dvb_deps="backend"
|
|
firewire_deps="backend"
|
|
iptv_deps="backend"
|
|
-ivtv_deps="backend v4l"
|
|
-hdpvr_deps="backend v4l"
|
|
+ivtv_deps="backend v4l2"
|
|
+hdpvr_deps="backend v4l2"
|
|
hdhomerun_deps="backend"
|
|
mpegtsraw_demuxer_deps="merge_libavformat_mpegts_c"
|
|
mythtranscode_deps="backend frontend"
|
|
@@ -1715,6 +1717,7 @@ opengl_deps_any="agl_h GL_gl_h darwin windows x11"
|
|
opengl_video_deps="opengl"
|
|
opengl_vsync_deps="opengl"
|
|
v4l_deps="backend linux_videodev_h linux_videodev2_h"
|
|
+v4l2_deps="backend linux_videodev2_h"
|
|
vdpau_deps="opengl vdpau_vdpau_h vdpau_vdpau_x11_h"
|
|
xrandr_deps="x11"
|
|
xv_deps="x11"
|
|
@@ -1933,6 +1936,7 @@ enable opengl_vsync
|
|
enable opengl_video
|
|
enable quartz_video
|
|
enable v4l
|
|
+enable v4l2
|
|
enable x11
|
|
enable xrandr
|
|
enable xv
|
|
@@ -3062,6 +3066,7 @@ EOF
|
|
fi
|
|
disable opengl_vsync
|
|
disable v4l
|
|
+ disable v4l2
|
|
disable x11
|
|
# Workaround compile errors from missing gmtime_r/localtime_r/uint def
|
|
CFLAGS=`echo $CFLAGS | sed 's/-D_POSIX_C_SOURCE=200112//'`
|
|
@@ -3106,6 +3111,7 @@ EOF
|
|
fi
|
|
disable symver
|
|
disable v4l
|
|
+ disable v4l2
|
|
enable windows
|
|
disable x11
|
|
###### Standard ffmpeg configure stuff follows:
|
|
@@ -4375,6 +4381,7 @@ enabled stripping || strip="echo skipping strip"
|
|
|
|
if enabled backend; then
|
|
echo "Video4Linux sup. ${v4l-no}"
|
|
+ echo "Video4Linux2 sup. ${v4l2-no}"
|
|
echo "ivtv support ${ivtv-no}"
|
|
echo "HD-PVR support ${hdpvr-no}"
|
|
echo "FireWire support ${firewire-no}"
|
|
diff --git a/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp b/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp
|
|
index 739634d..39e5956 100644
|
|
--- a/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp
|
|
+++ b/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp
|
|
@@ -42,9 +42,13 @@ extern "C" {
|
|
#include "libswscale/swscale.h"
|
|
}
|
|
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
#ifdef USING_V4L
|
|
#include <linux/videodev.h>
|
|
+#endif
|
|
+#ifdef USING_V4L2
|
|
#include <linux/videodev2.h>
|
|
+#endif
|
|
|
|
#include "go7007_myth.h"
|
|
|
|
@@ -55,9 +59,9 @@ extern "C" {
|
|
extern "C" {
|
|
#include "vbitext/vbi.h"
|
|
}
|
|
-#else // USING_V4l
|
|
+#else // USING_V4L || USING_V4L2
|
|
#define VT_WIDTH 0
|
|
-#endif // USING_V4l
|
|
+#endif // USING_V4l || USING_V4L2
|
|
|
|
#define KEYFRAMEDIST 30
|
|
|
|
@@ -1019,7 +1023,7 @@ bool NuppelVideoRecorder::Open(void)
|
|
|
|
void NuppelVideoRecorder::ProbeV4L2(void)
|
|
{
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
usingv4l2 = true;
|
|
|
|
struct v4l2_capability vcap;
|
|
@@ -1049,7 +1053,7 @@ void NuppelVideoRecorder::ProbeV4L2(void)
|
|
QString driver = (char *)vcap.driver;
|
|
if (driver == "go7007")
|
|
go7007 = true;
|
|
-#endif // USING_V4L
|
|
+#endif // USING_V4L || USING_V4L2
|
|
}
|
|
|
|
void NuppelVideoRecorder::StartRecording(void)
|
|
@@ -2460,7 +2464,7 @@ void NuppelVideoRecorder::doAudioThread(void)
|
|
audio_device->Close();
|
|
}
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
struct VBIData
|
|
{
|
|
NuppelVideoRecorder *nvr;
|
|
@@ -2634,9 +2638,9 @@ void NuppelVideoRecorder::FormatTeletextSubtitles(struct VBIData *vbidata)
|
|
act_text_buffer = 0;
|
|
textbuffer[act]->freeToEncode = 1;
|
|
}
|
|
-#else // USING_V4L
|
|
+#else // USING_V4L || USING_V4L2
|
|
void NuppelVideoRecorder::FormatTeletextSubtitles(struct VBIData *vbidata) {}
|
|
-#endif // USING_V4L
|
|
+#endif // USING_V4L || USING_V4L2
|
|
|
|
void NuppelVideoRecorder::FormatCC(struct cc *cc)
|
|
{
|
|
@@ -2863,7 +2867,7 @@ void NuppelVideoRecorder::doVbiThread(void)
|
|
//VERBOSE(VB_RECORD, LOC + "vbi end");
|
|
}
|
|
|
|
-#else // USING_V4L
|
|
+#else // USING_V4L
|
|
void NuppelVideoRecorder::doVbiThread(void) { }
|
|
#endif // USING_V4L
|
|
|
|
diff --git a/mythtv/libs/libmythtv/analogsignalmonitor.cpp b/mythtv/libs/libmythtv/analogsignalmonitor.cpp
|
|
index 2a4f4c5..fa5823a 100644
|
|
--- a/mythtv/libs/libmythtv/analogsignalmonitor.cpp
|
|
+++ b/mythtv/libs/libmythtv/analogsignalmonitor.cpp
|
|
@@ -6,7 +6,9 @@
|
|
#include <sys/ioctl.h>
|
|
#include <poll.h>
|
|
|
|
+#ifdef USING_V4L
|
|
#include <linux/videodev.h>
|
|
+#endif
|
|
|
|
#include "mythverbose.h"
|
|
#include "analogsignalmonitor.h"
|
|
@@ -151,6 +153,7 @@ void AnalogSignalMonitor::UpdateValues(void)
|
|
}
|
|
else
|
|
{
|
|
+#ifdef USING_V4L
|
|
struct video_tuner tuner;
|
|
bzero(&tuner, sizeof(tuner));
|
|
|
|
@@ -163,6 +166,7 @@ void AnalogSignalMonitor::UpdateValues(void)
|
|
{
|
|
isLocked = tuner.signal;
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
{
|
|
diff --git a/mythtv/libs/libmythtv/cardutil.cpp b/mythtv/libs/libmythtv/cardutil.cpp
|
|
index 8852682..494f48a 100644
|
|
--- a/mythtv/libs/libmythtv/cardutil.cpp
|
|
+++ b/mythtv/libs/libmythtv/cardutil.cpp
|
|
@@ -4,7 +4,7 @@
|
|
|
|
#include <algorithm>
|
|
|
|
-#if defined(USING_V4L) || defined(USING_DVB)
|
|
+#if defined(USING_V4L) || defined(USING_V4L2) || defined(USING_DVB)
|
|
#include <sys/ioctl.h>
|
|
#endif
|
|
|
|
@@ -28,6 +28,8 @@
|
|
|
|
#ifdef USING_V4L
|
|
#include <linux/videodev.h>
|
|
+#endif
|
|
+#ifdef USING_V4L2
|
|
#include <linux/videodev2.h>
|
|
#endif
|
|
|
|
@@ -1455,15 +1457,15 @@ uint CardUtil::GetQuickTuning(uint cardid, const QString &input_name)
|
|
bool CardUtil::hasV4L2(int videofd)
|
|
{
|
|
(void) videofd;
|
|
-#ifdef USING_V4L
|
|
+#ifdef USING_V4L2
|
|
struct v4l2_capability vcap;
|
|
bzero(&vcap, sizeof(vcap));
|
|
|
|
return ((ioctl(videofd, VIDIOC_QUERYCAP, &vcap) >= 0) &&
|
|
(vcap.capabilities & V4L2_CAP_VIDEO_CAPTURE));
|
|
-#else // if !USING_V4L
|
|
+#else // if !USING_V4L2
|
|
return false;
|
|
-#endif // !USING_V4L
|
|
+#endif // !USING_V4L2
|
|
}
|
|
|
|
bool CardUtil::GetV4LInfo(
|
|
@@ -1475,7 +1477,7 @@ bool CardUtil::GetV4LInfo(
|
|
if (videofd < 0)
|
|
return false;
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
// First try V4L2 query
|
|
struct v4l2_capability capability;
|
|
bzero(&capability, sizeof(struct v4l2_capability));
|
|
@@ -1487,11 +1489,13 @@ bool CardUtil::GetV4LInfo(
|
|
}
|
|
else // Fallback to V4L1 query
|
|
{
|
|
+#ifdef USING_V4L
|
|
struct video_capability capability;
|
|
if (ioctl(videofd, VIDIOCGCAP, &capability) >= 0)
|
|
card = QString::fromAscii((const char*)capability.name);
|
|
+#endif //USING_V4L
|
|
}
|
|
-#endif // !USING_V4L
|
|
+#endif // !USING_V4L || USING_V4L2
|
|
|
|
if (!driver.isEmpty())
|
|
driver.remove( QRegExp("\\[[0-9]\\]$") );
|
|
@@ -1506,9 +1510,9 @@ InputNames CardUtil::ProbeV4LVideoInputs(int videofd, bool &ok)
|
|
InputNames list;
|
|
ok = false;
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
bool usingv4l2 = hasV4L2(videofd);
|
|
-
|
|
+#ifdef USING_V4L2
|
|
// V4L v2 query
|
|
struct v4l2_input vin;
|
|
bzero(&vin, sizeof(vin));
|
|
@@ -1523,8 +1527,10 @@ InputNames CardUtil::ProbeV4LVideoInputs(int videofd, bool &ok)
|
|
ok = true;
|
|
return list;
|
|
}
|
|
+#endif
|
|
|
|
// V4L v1 query
|
|
+#ifdef USING_V4L
|
|
struct video_capability vidcap;
|
|
bzero(&vidcap, sizeof(vidcap));
|
|
if (ioctl(videofd, VIDIOCGCAP, &vidcap) != 0)
|
|
@@ -1552,15 +1558,15 @@ InputNames CardUtil::ProbeV4LVideoInputs(int videofd, bool &ok)
|
|
|
|
list[i] = test.name;
|
|
}
|
|
-
|
|
+#endif
|
|
// Create an input on single input cards that don't advertise input
|
|
if (!list.size())
|
|
list[0] = "Television";
|
|
|
|
ok = true;
|
|
-#else // if !USING_V4L
|
|
+#else // if !USING_V4L || USING_V4L2
|
|
list[-1] += QObject::tr("ERROR, Compile with V4L support to query inputs");
|
|
-#endif // !USING_V4L
|
|
+#endif // !USING_V4L || USING_V4L2
|
|
return list;
|
|
}
|
|
|
|
diff --git a/mythtv/libs/libmythtv/channelscan/channelscan_sm.cpp b/mythtv/libs/libmythtv/channelscan/channelscan_sm.cpp
|
|
index 832d0a8..e35b186 100644
|
|
--- a/mythtv/libs/libmythtv/channelscan/channelscan_sm.cpp
|
|
+++ b/mythtv/libs/libmythtv/channelscan/channelscan_sm.cpp
|
|
@@ -1394,7 +1394,7 @@ const DVBChannel *ChannelScanSM::GetDVBChannel(void) const
|
|
|
|
V4LChannel *ChannelScanSM::GetV4LChannel(void)
|
|
{
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
return dynamic_cast<V4LChannel*>(channel);
|
|
#else
|
|
return NULL;
|
|
diff --git a/mythtv/libs/libmythtv/channelscan/channelscanner.cpp b/mythtv/libs/libmythtv/channelscan/channelscanner.cpp
|
|
index 1595d6a..4d2b2cf 100644
|
|
--- a/mythtv/libs/libmythtv/channelscan/channelscanner.cpp
|
|
+++ b/mythtv/libs/libmythtv/channelscan/channelscanner.cpp
|
|
@@ -342,7 +342,7 @@ void ChannelScanner::PreScanCommon(
|
|
channel = new DVBChannel(device);
|
|
#endif
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
if (("V4L" == card_type) || ("MPEG" == card_type))
|
|
channel = new V4LChannel(NULL, device);
|
|
#endif
|
|
diff --git a/mythtv/libs/libmythtv/channelscan/scanwizardconfig.cpp b/mythtv/libs/libmythtv/channelscan/scanwizardconfig.cpp
|
|
index 00fd9d3..70e3469 100644
|
|
--- a/mythtv/libs/libmythtv/channelscan/scanwizardconfig.cpp
|
|
+++ b/mythtv/libs/libmythtv/channelscan/scanwizardconfig.cpp
|
|
@@ -27,14 +27,14 @@ static QString card_types(void)
|
|
cardTypes += "'DVB'";
|
|
#endif // USING_DVB
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
if (!cardTypes.isEmpty())
|
|
cardTypes += ",";
|
|
cardTypes += "'V4L'";
|
|
# ifdef USING_IVTV
|
|
cardTypes += ",'MPEG'";
|
|
# endif // USING_IVTV
|
|
-#endif // USING_V4L
|
|
+#endif // USING_V4L || USING_V4L2
|
|
|
|
#ifdef USING_IPTV
|
|
if (!cardTypes.isEmpty())
|
|
diff --git a/mythtv/libs/libmythtv/libmythtv.pro b/mythtv/libs/libmythtv/libmythtv.pro
|
|
index 3d26e0a..ea06ee7 100644
|
|
--- a/mythtv/libs/libmythtv/libmythtv.pro
|
|
+++ b/mythtv/libs/libmythtv/libmythtv.pro
|
|
@@ -119,7 +119,7 @@ cygwin:DEFINES += _WIN32
|
|
using_valgrind:DEFINES += USING_VALGRIND
|
|
|
|
# old libvbitext (Caption decoder)
|
|
-using_v4l {
|
|
+using_v4l || using_v4l2 {
|
|
HEADERS += vbitext/cc.h vbitext/dllist.h vbitext/hamm.h vbitext/lang.h
|
|
HEADERS += vbitext/vbi.h vbitext/vt.h
|
|
SOURCES += vbitext/cc.cpp vbitext/vbi.c vbitext/hamm.c vbitext/lang.c
|
|
@@ -471,11 +471,17 @@ using_backend {
|
|
SOURCES += channelchangemonitor.cpp
|
|
|
|
# Support for Video4Linux devices
|
|
- using_v4l {
|
|
+ using_v4l || using_v4l2 {
|
|
HEADERS += v4lchannel.h analogsignalmonitor.h
|
|
SOURCES += v4lchannel.cpp analogsignalmonitor.cpp
|
|
|
|
- DEFINES += USING_V4L
|
|
+ using_v4l {
|
|
+ DEFINES += USING_V4L
|
|
+ }
|
|
+
|
|
+ using_v4l2 {
|
|
+ DEFINES += USING_V4L2
|
|
+ }
|
|
}
|
|
|
|
# Support for cable boxes that provide Firewire out
|
|
diff --git a/mythtv/libs/libmythtv/signalmonitor.cpp b/mythtv/libs/libmythtv/signalmonitor.cpp
|
|
index 221efef..c199b3b 100644
|
|
--- a/mythtv/libs/libmythtv/signalmonitor.cpp
|
|
+++ b/mythtv/libs/libmythtv/signalmonitor.cpp
|
|
@@ -23,7 +23,7 @@ extern "C" {
|
|
# include "dvbchannel.h"
|
|
#endif
|
|
|
|
-#ifdef USING_V4L
|
|
+#ifdef USING_V4L2
|
|
# include "analogsignalmonitor.h"
|
|
# include "v4lchannel.h"
|
|
#endif
|
|
@@ -95,7 +95,7 @@ SignalMonitor *SignalMonitor::Init(QString cardtype, int db_cardnum,
|
|
}
|
|
#endif
|
|
|
|
-#ifdef USING_V4L
|
|
+#ifdef USING_V4L2
|
|
if ((cardtype.toUpper() == "HDPVR"))
|
|
{
|
|
V4LChannel *chan = dynamic_cast<V4LChannel*>(channel);
|
|
diff --git a/mythtv/libs/libmythtv/tv_rec.cpp b/mythtv/libs/libmythtv/tv_rec.cpp
|
|
index b885eaa..3d9c7ad 100644
|
|
--- a/mythtv/libs/libmythtv/tv_rec.cpp
|
|
+++ b/mythtv/libs/libmythtv/tv_rec.cpp
|
|
@@ -57,7 +57,7 @@ using namespace std;
|
|
|
|
#include "channelgroup.h"
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
#include "v4lchannel.h"
|
|
#endif
|
|
|
|
@@ -206,7 +206,7 @@ bool TVRec::CreateChannel(const QString &startchannel)
|
|
}
|
|
else // "V4L" or "MPEG", ie, analog TV
|
|
{
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
channel = new V4LChannel(this, genOpt.videodev);
|
|
if (!channel->Open())
|
|
return false;
|
|
@@ -1082,11 +1082,11 @@ bool TVRec::SetupRecorder(RecordingProfile &profile)
|
|
}
|
|
else
|
|
{
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
// V4L/MJPEG/GO7007 from here on
|
|
recorder = new NuppelVideoRecorder(this, channel);
|
|
recorder->SetOption("skipbtaudio", genOpt.skip_btaudio);
|
|
-#endif // USING_V4L
|
|
+#endif // USING_V4L || USING_V4L2
|
|
}
|
|
|
|
if (recorder)
|
|
@@ -1292,11 +1292,11 @@ FirewireChannel *TVRec::GetFirewireChannel(void)
|
|
|
|
V4LChannel *TVRec::GetV4LChannel(void)
|
|
{
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
return dynamic_cast<V4LChannel*>(channel);
|
|
#else
|
|
return NULL;
|
|
-#endif // USING_V4L
|
|
+#endif // USING_V4L || USING_V4L2
|
|
}
|
|
|
|
/** \fn TVRec::EventThread(void*)
|
|
@@ -4137,7 +4137,7 @@ void TVRec::TuningNewRecorder(MPEGStreamData *streamData)
|
|
channel->GetCurrentName());
|
|
}
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
if (GetV4LChannel())
|
|
{
|
|
channel->InitPictureAttributes();
|
|
diff --git a/mythtv/libs/libmythtv/v4lchannel.cpp b/mythtv/libs/libmythtv/v4lchannel.cpp
|
|
index bc82b49..7aa47ef 100644
|
|
--- a/mythtv/libs/libmythtv/v4lchannel.cpp
|
|
+++ b/mythtv/libs/libmythtv/v4lchannel.cpp
|
|
@@ -16,8 +16,12 @@
|
|
#include <iostream>
|
|
using namespace std;
|
|
|
|
+#ifdef USING_V4L
|
|
#include <linux/videodev.h>
|
|
+#endif
|
|
+#ifdef USING_V4L2
|
|
#include <linux/videodev2.h>
|
|
+#endif
|
|
|
|
// MythTV headers
|
|
#include "v4lchannel.h"
|
|
@@ -150,8 +154,10 @@ static int format_to_mode(const QString &fmt, int v4l_version)
|
|
{
|
|
if (fmt == "NTSC-JP")
|
|
return 6;
|
|
+#ifdef USING_V4L
|
|
else if (fmt.left(5) == "SECAM")
|
|
return VIDEO_MODE_SECAM;
|
|
+#endif
|
|
else if (fmt == "PAL-NC")
|
|
return 3;
|
|
else if (fmt == "PAL-M")
|
|
@@ -159,6 +165,7 @@ static int format_to_mode(const QString &fmt, int v4l_version)
|
|
else if (fmt == "PAL-N")
|
|
return 5;
|
|
// generics...
|
|
+#ifdef USING_V4L
|
|
else if (fmt.left(3) == "PAL")
|
|
return VIDEO_MODE_PAL;
|
|
else if (fmt.left(4) == "NTSC")
|
|
@@ -166,6 +173,7 @@ static int format_to_mode(const QString &fmt, int v4l_version)
|
|
else if (fmt.left(4) == "ATSC")
|
|
return VIDEO_MODE_NTSC; // We've dropped V4L ATSC support...
|
|
return VIDEO_MODE_NTSC;
|
|
+#endif
|
|
}
|
|
|
|
VERBOSE(VB_IMPORTANT,
|
|
@@ -237,6 +245,7 @@ static QString mode_to_format(int mode, int v4l_version)
|
|
}
|
|
else if (1 == v4l_version)
|
|
{
|
|
+#ifdef USING_V4L
|
|
if (mode == VIDEO_MODE_NTSC)
|
|
return "NTSC";
|
|
else if (mode == VIDEO_MODE_PAL)
|
|
@@ -249,6 +258,7 @@ static QString mode_to_format(int mode, int v4l_version)
|
|
return "PAL-N";
|
|
else if (mode == 6)
|
|
return "NTSC-JP";
|
|
+#endif
|
|
}
|
|
else
|
|
{
|
|
@@ -676,6 +686,7 @@ bool V4LChannel::Tune(uint frequency, QString inputname,
|
|
return true;
|
|
}
|
|
|
|
+#ifdef USING_V4L
|
|
// Video4Linux version 1 tuning
|
|
uint freq = frequency / 62500;
|
|
ioctlval = ioctl(videofd, VIDIOCSFREQ, &freq);
|
|
@@ -687,6 +698,7 @@ bool V4LChannel::Tune(uint frequency, QString inputname,
|
|
.arg(device).arg(ioctlval).arg(strerror(errno)));
|
|
return false;
|
|
}
|
|
+#endif
|
|
|
|
SetSIStandard(si_std);
|
|
|
|
@@ -858,6 +870,7 @@ bool V4LChannel::SetInputAndFormat(int inputNum, QString newFmt)
|
|
|
|
if (usingv4l1)
|
|
{
|
|
+#ifdef USING_V4L
|
|
VERBOSE(VB_CHANNEL, LOC + msg + "(v4l v1)");
|
|
|
|
// read in old settings
|
|
@@ -875,8 +888,9 @@ bool V4LChannel::SetInputAndFormat(int inputNum, QString newFmt)
|
|
{
|
|
VERBOSE(VB_IMPORTANT, LOC_ERR + msg +
|
|
"\n\t\t\twhile setting format (v4l v1)" + ENO);
|
|
- }
|
|
- else if (usingv4l2)
|
|
+ } else
|
|
+#endif
|
|
+ if (usingv4l2)
|
|
{
|
|
VERBOSE(VB_IMPORTANT, LOC + msg +
|
|
"\n\t\t\tSetting video mode with v4l version 1 worked");
|
|
@@ -951,6 +965,7 @@ bool V4LChannel::SwitchToInput(int inputnum, bool setstarting)
|
|
return ok;
|
|
}
|
|
|
|
+#ifdef USING_V4L
|
|
static unsigned short *get_v4l1_field(
|
|
int v4l2_attrib, struct video_picture &vid_pic)
|
|
{
|
|
@@ -970,6 +985,7 @@ static unsigned short *get_v4l1_field(
|
|
}
|
|
return NULL;
|
|
}
|
|
+#endif
|
|
|
|
static int get_v4l2_attribute(const QString &db_col_name)
|
|
{
|
|
@@ -1067,6 +1083,7 @@ bool V4LChannel::InitPictureAttribute(const QString db_col_name)
|
|
}
|
|
|
|
// V4L1
|
|
+#ifdef USING_V4L
|
|
unsigned short *setfield;
|
|
struct video_picture vid_pic;
|
|
bzero(&vid_pic, sizeof(vid_pic));
|
|
@@ -1087,7 +1104,7 @@ bool V4LChannel::InitPictureAttribute(const QString db_col_name)
|
|
VERBOSE(VB_IMPORTANT, loc_err + "failed to set controls." + ENO);
|
|
return false;
|
|
}
|
|
-
|
|
+#endif
|
|
return true;
|
|
}
|
|
|
|
@@ -1154,6 +1171,7 @@ static int get_v4l2_attribute_value(int videofd, int v4l2_attrib)
|
|
|
|
static int get_v4l1_attribute_value(int videofd, int v4l2_attrib)
|
|
{
|
|
+#ifdef USING_V4L
|
|
struct video_picture vid_pic;
|
|
bzero(&vid_pic, sizeof(vid_pic));
|
|
|
|
@@ -1167,6 +1185,7 @@ static int get_v4l1_attribute_value(int videofd, int v4l2_attrib)
|
|
unsigned short *setfield = get_v4l1_field(v4l2_attrib, vid_pic);
|
|
if (setfield)
|
|
return *setfield;
|
|
+#endif
|
|
|
|
return -1;
|
|
}
|
|
@@ -1210,6 +1229,7 @@ static int set_v4l2_attribute_value(int videofd, int v4l2_attrib, int newvalue)
|
|
|
|
static int set_v4l1_attribute_value(int videofd, int v4l2_attrib, int newvalue)
|
|
{
|
|
+#ifdef USING_V4L
|
|
unsigned short *setfield;
|
|
struct video_picture vid_pic;
|
|
bzero(&vid_pic, sizeof(vid_pic));
|
|
@@ -1236,7 +1256,7 @@ static int set_v4l1_attribute_value(int videofd, int v4l2_attrib, int newvalue)
|
|
// ???
|
|
return -1;
|
|
}
|
|
-
|
|
+#endif
|
|
return 0;
|
|
}
|
|
|
|
diff --git a/mythtv/libs/libmythtv/v4lchannel.h b/mythtv/libs/libmythtv/v4lchannel.h
|
|
index b059c64..aa6d934 100644
|
|
--- a/mythtv/libs/libmythtv/v4lchannel.h
|
|
+++ b/mythtv/libs/libmythtv/v4lchannel.h
|
|
@@ -4,11 +4,11 @@
|
|
#define CHANNEL_H
|
|
|
|
#include "dtvchannel.h"
|
|
-#ifdef USING_V4L
|
|
+#ifdef USING_V4L2
|
|
#include <linux/videodev2.h> // needed for v4l2_std_id type
|
|
#else
|
|
typedef uint64_t v4l2_std_id;
|
|
-#endif //USING_V4L
|
|
+#endif //USING_V4L2
|
|
|
|
using namespace std;
|
|
|
|
diff --git a/mythtv/libs/libmythtv/vbitext/vbi.c b/mythtv/libs/libmythtv/vbitext/vbi.c
|
|
index 15f8d85..4c50e8d 100644
|
|
--- a/mythtv/libs/libmythtv/vbitext/vbi.c
|
|
+++ b/mythtv/libs/libmythtv/vbitext/vbi.c
|
|
@@ -14,8 +14,12 @@
|
|
// compiling with -std=c99. We could remove this in the .pro file,
|
|
// but that would disable it for all .c files.
|
|
#undef __STRICT_ANSI__
|
|
+#ifdef USING_V4L
|
|
#include <linux/videodev.h>
|
|
+#endif
|
|
+#ifdef USING_V4L2
|
|
#include <linux/videodev2.h>
|
|
+#endif
|
|
|
|
// vbitext headers
|
|
#include "vt.h"
|
|
@@ -29,8 +33,13 @@ static int rawbuf_size; // its current size
|
|
|
|
|
|
/***** bttv api *****/
|
|
+#ifdef USING_V4L
|
|
#define BTTV_VBISIZE _IOR('v' , BASE_VIDIOCPRIVATE+8, int)
|
|
-
|
|
+#else // !USING_V4L
|
|
+#ifdef USING_V4L2
|
|
+#define BTTV_VBISIZE _IOR('v' , BASE_VIDIOC_PRIVATE+8, int)
|
|
+#endif // USING_V4L2
|
|
+#endif // !USING_V4L
|
|
|
|
static void
|
|
error(const char *str, ...)
|
|
diff --git a/mythtv/libs/libmythtv/videosource.cpp b/mythtv/libs/libmythtv/videosource.cpp
|
|
index 5d7a508..635faeb 100644
|
|
--- a/mythtv/libs/libmythtv/videosource.cpp
|
|
+++ b/mythtv/libs/libmythtv/videosource.cpp
|
|
@@ -45,7 +45,7 @@ using namespace std;
|
|
#include "dvbtypes.h"
|
|
#endif
|
|
|
|
-#ifdef USING_V4L
|
|
+#ifdef USING_V4L2
|
|
#include <linux/videodev2.h>
|
|
#endif
|
|
|
|
@@ -2012,7 +2012,7 @@ CaptureCardGroup::CaptureCardGroup(CaptureCard &parent) :
|
|
setTrigger(cardtype);
|
|
setSaveAll(false);
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
addTarget("V4L", new V4LConfigurationGroup(parent));
|
|
# ifdef USING_IVTV
|
|
addTarget("MPEG", new MPEGConfigurationGroup(parent));
|
|
@@ -2020,7 +2020,7 @@ CaptureCardGroup::CaptureCardGroup(CaptureCard &parent) :
|
|
# ifdef USING_HDPVR
|
|
addTarget("HDPVR", new HDPVRConfigurationGroup(parent));
|
|
# endif // USING_HDPVR
|
|
-#endif // USING_V4L
|
|
+#endif // USING_V4L || USING_V4L2
|
|
|
|
#ifdef USING_DVB
|
|
addTarget("DVB", new DVBConfigurationGroup(parent));
|
|
@@ -2201,7 +2201,7 @@ CardType::CardType(const CaptureCard &parent) :
|
|
|
|
void CardType::fillSelections(SelectSetting* setting)
|
|
{
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
setting->addSelection(
|
|
QObject::tr("Analog V4L capture card"), "V4L");
|
|
setting->addSelection(
|
|
@@ -2214,7 +2214,7 @@ void CardType::fillSelections(SelectSetting* setting)
|
|
setting->addSelection(
|
|
QObject::tr("H.264 encoder card (HD-PVR)"), "HDPVR");
|
|
# endif // USING_HDPVR
|
|
-#endif // USING_V4L
|
|
+#endif // USING_V4L || USING_V4L2
|
|
|
|
#ifdef USING_DVB
|
|
setting->addSelection(
|
|
@@ -2226,11 +2226,11 @@ void CardType::fillSelections(SelectSetting* setting)
|
|
QObject::tr("FireWire cable box"), "FIREWIRE");
|
|
#endif // USING_FIREWIRE
|
|
|
|
-#ifdef USING_V4L
|
|
+#if defined(USING_V4L) || defined(USING_V4L2)
|
|
setting->addSelection(
|
|
QObject::tr("USB MPEG-4 encoder box (Plextor ConvertX, etc)"),
|
|
"GO7007");
|
|
-#endif // USING_V4L
|
|
+#endif // USING_V4L || USING_V4L2
|
|
|
|
#ifdef USING_HDHOMERUN
|
|
setting->addSelection(
|