summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-12-28 12:04:58 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-12-28 12:04:58 +0000
commit2e399f394d686f2f8dc763af7b2535fb1e184012 (patch)
treed821ae31b25dde0cc42d6d9c50d65031cf4083ca /libvo
parenta40067b39a61c58a970232dcda01d8a7e3fbb1ff (diff)
downloadmpv-2e399f394d686f2f8dc763af7b2535fb1e184012.tar.bz2
mpv-2e399f394d686f2f8dc763af7b2535fb1e184012.tar.xz
DVB-HEAD (aka. NEWSTRUCT) detection & support
patch by Dimitrios Dimitrakos <mail@dimitrios.de> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8595 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_mpegpes.c31
1 files changed, 29 insertions, 2 deletions
diff --git a/libvo/vo_mpegpes.c b/libvo/vo_mpegpes.c
index 0e186ca23f..a930b6eea5 100644
--- a/libvo/vo_mpegpes.c
+++ b/libvo/vo_mpegpes.c
@@ -26,9 +26,11 @@
#include <unistd.h>
#include "mp_msg.h"
-
+#ifdef HAVE_DVB_HEAD
+#define HAVE_DVB 1
+#endif
#ifdef HAVE_DVB
-
+#ifndef HAVE_DVB_HEAD
#include <sys/poll.h>
#include <sys/ioctl.h>
@@ -41,6 +43,20 @@
#include <ost/video.h>
#include <ost/audio.h>
+#else
+#define true 1
+#define false 0
+#include <sys/poll.h>
+
+#include <sys/ioctl.h>
+#include <stdio.h>
+#include <time.h>
+
+#include <linux/dvb/dmx.h>
+#include <linux/dvb/frontend.h>
+#include <linux/dvb/video.h>
+#include <linux/dvb/audio.h>
+#endif
#endif
#include "config.h"
@@ -86,6 +102,7 @@ static uint32_t preinit(const char *arg){
#ifdef HAVE_DVB
if(!arg){
//|O_NONBLOCK
+#ifndef HAVE_DVB_HEAD
if((vo_mpegpes_fd = open("/dev/ost/video",O_RDWR)) < 0){
perror("DVB VIDEO DEVICE: ");
return -1;
@@ -94,6 +111,16 @@ static uint32_t preinit(const char *arg){
perror("DVB AUDIO DEVICE: ");
return -1;
}
+#else
+ if((vo_mpegpes_fd = open("/dev/dvb/adapter0/video0",O_RDWR)) < 0){
+ perror("DVB VIDEO DEVICE: ");
+ return -1;
+ }
+ if((vo_mpegpes_fd2 = open("/dev/dvb/adapter0/audio0",O_RDWR|O_NONBLOCK)) < 0){
+ perror("DVB AUDIO DEVICE: ");
+ return -1;
+ }
+#endif
if ( (ioctl(vo_mpegpes_fd,VIDEO_SET_BLANK, false) < 0)){
perror("DVB VIDEO SET BLANK: ");
return -1;