mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
Audio update.
Alsa: report needed down sampling of 3/5/6 to 2 channels. Moved alsa code into alsa module. Initial OSS output support.
This commit is contained in:
parent
5546354cc7
commit
c8e70ec0fe
@ -1,6 +1,7 @@
|
||||
User johns
|
||||
Date:
|
||||
|
||||
New audio driver oss.
|
||||
Fix bug: needed down sampling of 3/5/6 to 2 channels not reported.
|
||||
Search audio sync inside PES packets, for insane dvb streams.
|
||||
Use only the needed number of surfaces.
|
||||
|
3
Makefile
3
Makefile
@ -19,9 +19,10 @@ VERSION = $(shell grep 'static const char \*const VERSION *=' $(PLUGIN).cpp | aw
|
||||
|
||||
CONFIG := #-DDEBUG
|
||||
#CONFIG += -DHAVE_PTHREAD_NAME
|
||||
CONFIG += $(shell pkg-config --exists libva && echo "-DUSE_VAAPI")
|
||||
CONFIG += $(shell pkg-config --exists vdpau && echo "-DUSE_VDPAU")
|
||||
CONFIG += $(shell pkg-config --exists libva && echo "-DUSE_VAAPI")
|
||||
CONFIG += $(shell pkg-config --exists alsa && echo "-DUSE_ALSA")
|
||||
#CONFIG += -DUSE_OSS
|
||||
|
||||
### The C++ compiler and options:
|
||||
|
||||
|
20
README.txt
20
README.txt
@ -30,10 +30,11 @@ A software and GPU emulated HD output device plugin for VDR.
|
||||
o planned: Video CPU/Opengl
|
||||
o planned: Software Deinterlacer
|
||||
o planned: Video XvBA/XvBA
|
||||
o Audio FFMpeg/Analog
|
||||
o Audio FFMpeg/Digital
|
||||
o planned: HDMI/SPDIF Passthrough
|
||||
o planned: OSS support
|
||||
o Audio FFMpeg/Alsa/Analog
|
||||
o Audio FFMpeg/Alsa/Digital
|
||||
o Audio FFMpeg/OSS/Analog
|
||||
o planned: Alsa HDMI/SPDIF Passthrough
|
||||
o planned: OSS HDMI/SPDIF Passthrough
|
||||
|
||||
To compile you must have the 'requires' installed.
|
||||
|
||||
@ -63,6 +64,9 @@ Install:
|
||||
cd vdr-softhddevice
|
||||
make VDRDIR=<path-to-your-vdr-files> LIBDIR=.
|
||||
|
||||
You can edit Makefile to enable/disable VDPAU / VA-API / Alsa / OSS
|
||||
support.
|
||||
|
||||
Setup: environment
|
||||
------
|
||||
Following is supported:
|
||||
@ -99,6 +103,11 @@ Setup: /etc/vdr/setup.conf
|
||||
softhddevice.AudioDelay = 0
|
||||
+n or -n ms
|
||||
|
||||
Commandline:
|
||||
------------
|
||||
|
||||
Use vdr -h to see the command line arguments support by the plugin.
|
||||
|
||||
Warning:
|
||||
--------
|
||||
libav is not supported, expect many bugs with it.
|
||||
@ -112,6 +121,9 @@ Requires:
|
||||
media-libs/alsa-lib
|
||||
Advanced Linux Sound Architecture Library
|
||||
http://www.alsa-project.org
|
||||
or
|
||||
kernel support for oss/oss4 or alsa oss emulation
|
||||
|
||||
x11-libs/libva
|
||||
Video Acceleration (VA) API for Linux
|
||||
http://www.freedesktop.org/wiki/Software/vaapi
|
||||
|
3
Todo
3
Todo
@ -27,7 +27,6 @@ missing:
|
||||
atmolight
|
||||
zoom/fit-zoom 4:3
|
||||
multistream handling
|
||||
audio out with oss/oss4
|
||||
HDMI/SPDIF Passthrough
|
||||
disable screensaver
|
||||
disable window cursor
|
||||
@ -67,10 +66,8 @@ audio/alsa:
|
||||
libav supports only resample of mono to 2 channels
|
||||
ffmpeg didn't support resample of 5 to 2 channels
|
||||
CodecAudioOpen can fail "can't open audio codec" and does Fatal exit.
|
||||
insufficient thread locking around avcodec_open/close()
|
||||
|
||||
audio/oss:
|
||||
add and write oss support
|
||||
|
||||
playback of recording
|
||||
play back is too fast
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "softhddevice.h"
|
||||
extern "C" {
|
||||
#include "video.h"
|
||||
extern void AudioPoller(void);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
@ -332,6 +333,9 @@ class cSoftHdDevice:public cDevice
|
||||
virtual void GetOsdSize(int &, int &, double &);
|
||||
virtual int PlayVideo(const uchar *, int);
|
||||
//virtual int PlayTsVideo(const uchar *, int);
|
||||
#ifdef USE_OSS // FIXME: testing only oss
|
||||
virtual int PlayTsAudio(const uchar *, int);
|
||||
#endif
|
||||
virtual void SetAudioChannelDevice(int);
|
||||
virtual int GetAudioChannelDevice(void);
|
||||
virtual void SetDigitalAudioDevice(bool);
|
||||
@ -569,6 +573,20 @@ int cSoftHdDevice::PlayTsVideo(const uchar * Data, int Length)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef USE_OSS // FIXME: testing only oss
|
||||
///
|
||||
/// Play a TS audio packet.
|
||||
///
|
||||
/// misuse this function as audio poller
|
||||
///
|
||||
int cSoftHdDevice::PlayTsAudio(const uchar * data, int length)
|
||||
{
|
||||
AudioPoller();
|
||||
|
||||
return cDevice::PlayTsAudio(data,length);
|
||||
}
|
||||
#endif
|
||||
|
||||
uchar *cSoftHdDevice::GrabImage(int &size, bool jpeg, int quality, int sizex,
|
||||
int sizey)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user