00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "mythlogging.h"
00022 #include "mythconfig.h"
00023 #include "audioinput.h"
00024 #include "audioinputoss.h"
00025 #include "audioinputalsa.h"
00026
00027 #define LOC QString("AudioIn: ")
00028
00029 AudioInput::AudioInput(const QString &device)
00030 {
00031 m_audio_device = QByteArray(device.toAscii());
00032 m_audio_channels = 0;
00033 m_audio_sample_bits = 0;
00034 m_audio_sample_rate = 0;
00035 }
00036
00037 AudioInput *AudioInput::CreateDevice(const QByteArray &device)
00038 {
00039 AudioInput *audio = NULL;
00040 if (CONFIG_AUDIO_OSS && device.startsWith("/"))
00041 {
00042 audio = new AudioInputOSS(device);
00043 }
00044 else if (CONFIG_AUDIO_ALSA && device.startsWith("ALSA:"))
00045 {
00046 audio = new AudioInputALSA(device);
00047 }
00048 else if (device == "NULL")
00049 {
00050 LOG(VB_GENERAL, LOG_INFO, LOC + "creating NULL audio device");
00051 }
00052 else
00053 {
00054 LOG(VB_GENERAL, LOG_ERR, LOC +
00055 "unknown or unsupported audio input device '" + device + "'");
00056 }
00057
00058 return audio;
00059 }
00060