diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-02-05 18:44:07 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-02-05 18:44:07 +0100 |
commit | ca07a1f8834137c9573c2ceabf0805e900ecbd05 (patch) | |
tree | 7e876b45e166c39f695b68768bbfe700c70cafa4 | |
parent | 6bad97064ca6c8fd1f586f1904359c1ba8d26e18 (diff) | |
download | vdr-plugin-dxr3-ca07a1f8834137c9573c2ceabf0805e900ecbd05.tar.gz vdr-plugin-dxr3-ca07a1f8834137c9573c2ceabf0805e900ecbd05.tar.bz2 |
add infrastructe to poll audiodrivers fds
-rw-r--r-- | dxr3audio-oss.c | 5 | ||||
-rw-r--r-- | dxr3audio-oss.h | 1 | ||||
-rw-r--r-- | dxr3audio.h | 2 | ||||
-rw-r--r-- | dxr3device.c | 1 |
4 files changed, 9 insertions, 0 deletions
diff --git a/dxr3audio-oss.c b/dxr3audio-oss.c index d234307..6b1e2ad 100644 --- a/dxr3audio-oss.c +++ b/dxr3audio-oss.c @@ -84,6 +84,11 @@ void cAudioOss::write(uchar* data, size_t size) } } +void cAudioOss::poll(cPoller &poller) +{ + poller.Add(fd, true); +} + void cAudioOss::setDigitalAudio(bool on) { if (digitalAudio == on) { diff --git a/dxr3audio-oss.h b/dxr3audio-oss.h index 998e22a..b8ac01e 100644 --- a/dxr3audio-oss.h +++ b/dxr3audio-oss.h @@ -32,6 +32,7 @@ public: virtual void releaseDevice(); virtual void setup(const SampleContext& ctx); virtual void write(uchar* data, size_t size); + virtual void poll(cPoller &poller); virtual void setDigitalAudio(bool on); private: diff --git a/dxr3audio.h b/dxr3audio.h index 243460c..d0617f7 100644 --- a/dxr3audio.h +++ b/dxr3audio.h @@ -39,6 +39,8 @@ public: virtual void setup(const SampleContext& ctx) = 0; virtual void write(uchar* data, size_t size) = 0; + virtual void poll(cPoller &poller) { (void)poller; } + void setEnabled(bool on) { dsyslog("audio enable %d", (int)on); enabled = on; } void setVolume(int v) { vol = v; } void mute() { setVolume(0); } diff --git a/dxr3device.c b/dxr3device.c index e48ca72..7b3f754 100644 --- a/dxr3device.c +++ b/dxr3device.c @@ -202,6 +202,7 @@ void cDxr3Device::StillPicture(const uchar *Data, int Length) bool cDxr3Device::Poll(cPoller &Poller, int TimeoutMs) { Poller.Add(fdVideo, true); + audioOut->poll(Poller); return Poller.Poll(TimeoutMs); } |