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