Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] errors while implementing new method into dvbdevice.c
Hi,
I'm using 1.3.17 and I'm trying to fix some aspect ratio problems with
the DVD-Plugin.
According to the DVB API there is an ioctl for setting certain
information of the DVD data.
http://www.linuxtv.org/developer/dvbapi/DVB_Video_Device.html#SECTION005226000000000000000
So I added the method "virtual void SetDVDFormat(video_attributes_t
DVDFormat)" to device.c and dvbdevice.c. (see attached diff)
Upon calling it with
"cDevice::PrimaryDevice()->SetDVDFormat(dvdformat);" from inside
player-dvd.c(CVS version) at line 1386, I see the following error in my
syslog:
"ERROR (dvbdevice.c,609): Das Argument ist ungültig" (argument invalid?!)
The variable "dvdformat" is of type uint16_t.
It seems like CHECK() is causing this error.
Can anyone enlighten me on why this is happening?
Thanks a lot in advance.
André.
diff -Nrubw vdr-1.3.17/device.c vdr-1.3.17-dvd/device.c
--- vdr-1.3.17/device.c 2004-10-30 16:53:38.000000000 +0200
+++ vdr-1.3.17-dvd/device.c 2004-12-01 17:30:42.000000000 +0100
@@ -208,6 +208,10 @@
return false;
}
+void cDevice::SetDVDFormat(uint16_t DVDFormat)
+{
+}
+
void cDevice::SetVideoFormat(bool VideoFormat16_9)
{
}
diff -Nrubw vdr-1.3.17/device.h vdr-1.3.17-dvd/device.h
--- vdr-1.3.17/device.h 2004-10-30 16:49:56.000000000 +0200
+++ vdr-1.3.17-dvd/device.h 2004-12-01 17:51:28.000000000 +0100
@@ -276,6 +276,7 @@
// Video format facilities
public:
+ virtual void SetDVDFormat(uint16_t DVDFormat);
virtual void SetVideoFormat(bool VideoFormat16_9);
///< Sets the output video format to either 16:9 or 4:3 (only useful
///< if this device has an MPEG decoder).
diff -Nrubw vdr-1.3.17/dvbdevice.c vdr-1.3.17-dvd/dvbdevice.c
--- vdr-1.3.17/dvbdevice.c 2004-11-20 12:41:37.000000000 +0100
+++ vdr-1.3.17-dvd/dvbdevice.c 2004-12-01 17:42:28.000000000 +0100
@@ -595,6 +595,12 @@
return false;
}
+void cDvbDevice::SetDVDFormat(video_attributes_t DVDFormat)
+{
+ if (HasDecoder())
+ CHECK( ioctl(fd_video, VIDEO_SET_ATTRIBUTES, DVDFormat));
+}
+
void cDvbDevice::SetVideoFormat(bool VideoFormat16_9)
{
if (HasDecoder())
diff -Nrubw vdr-1.3.17/dvbdevice.h vdr-1.3.17-dvd/dvbdevice.h
--- vdr-1.3.17/dvbdevice.h 2004-11-07 11:25:16.000000000 +0100
+++ vdr-1.3.17-dvd/dvbdevice.h 2004-12-01 17:43:30.000000000 +0100
@@ -12,6 +12,7 @@
#include <linux/dvb/frontend.h>
#include <linux/dvb/version.h>
+#include <linux/dvb/video.h>
#include "device.h"
#include "dvbspu.h"
@@ -87,6 +88,7 @@
// Video format facilities
public:
+ virtual void SetDVDFormat(video_attributes_t DVDFormat);
virtual void SetVideoFormat(bool VideoFormat16_9);
virtual eVideoSystem GetVideoSystem(void);
Home |
Main Index |
Thread Index