mirror of https://github.com/mpv-player/mpv
Add and use AF_FORMAT_IS_AC3 macro.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30276 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
a8a53e872e
commit
6910cdaae1
|
@ -103,6 +103,8 @@
|
|||
|
||||
#define AF_FORMAT_UNKNOWN (-1)
|
||||
|
||||
#define AF_FORMAT_IS_AC3(fmt) (((fmt) & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_AC3)
|
||||
|
||||
int af_str2fmt(const char *str);
|
||||
int af_str2fmt_short(const char *str);
|
||||
int af_fmt2bits(int format);
|
||||
|
|
|
@ -127,7 +127,7 @@ static int control(int cmd, void *arg)
|
|||
long get_vol, set_vol;
|
||||
float f_multi;
|
||||
|
||||
if(ao_data.format == AF_FORMAT_AC3)
|
||||
if(AF_FORMAT_IS_AC3(ao_data.format))
|
||||
return CONTROL_TRUE;
|
||||
|
||||
if(mixer_channel) {
|
||||
|
@ -427,7 +427,7 @@ static int init(int rate_hz, int channels, int format, int flags)
|
|||
* while opening the abstract alias for the spdif subdevice
|
||||
* 'iec958'
|
||||
*/
|
||||
if (format == AF_FORMAT_AC3) {
|
||||
if (AF_FORMAT_IS_AC3(format)) {
|
||||
device.str = "iec958";
|
||||
mp_msg(MSGT_AO,MSGL_V,"alsa-spdif-init: playing AC3, %i channels\n", channels);
|
||||
}
|
||||
|
@ -486,12 +486,13 @@ static int init(int rate_hz, int channels, int format, int flags)
|
|||
}
|
||||
|
||||
if (!alsa_handler) {
|
||||
int isac3 = AF_FORMAT_IS_AC3(format);
|
||||
//modes = 0, SND_PCM_NONBLOCK, SND_PCM_ASYNC
|
||||
if ((err = try_open_device(alsa_device, open_mode, format == AF_FORMAT_AC3)) < 0)
|
||||
if ((err = try_open_device(alsa_device, open_mode, isac3)) < 0)
|
||||
{
|
||||
if (err != -EBUSY && ao_noblock) {
|
||||
mp_msg(MSGT_AO,MSGL_INFO,MSGTR_AO_ALSA_OpenInNonblockModeFailed);
|
||||
if ((err = try_open_device(alsa_device, 0, format == AF_FORMAT_AC3)) < 0) {
|
||||
if ((err = try_open_device(alsa_device, 0, isac3)) < 0) {
|
||||
mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_PlaybackOpenError, snd_strerror(err));
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -263,7 +263,7 @@ int b_alive;
|
|||
ao->b_changed_mixing = 0;
|
||||
|
||||
/* Probe whether device support S/PDIF stream output if input is AC3 stream. */
|
||||
if ((format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_AC3)
|
||||
if (AF_FORMAT_IS_AC3(format))
|
||||
{
|
||||
/* Find the ID of the default Device. */
|
||||
i_param_size = sizeof(AudioDeviceID);
|
||||
|
@ -344,7 +344,7 @@ int b_alive;
|
|||
// unsigned int
|
||||
inDesc.mFormatFlags = kAudioFormatFlagIsPacked;
|
||||
}
|
||||
if ((format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_AC3) {
|
||||
if (AF_FORMAT_IS_AC3(format)) {
|
||||
// Currently ac3 input (comes from hwac3) is always in native byte-order.
|
||||
#if HAVE_BIGENDIAN
|
||||
inDesc.mFormatFlags |= kAudioFormatFlagIsBigEndian;
|
||||
|
|
|
@ -201,7 +201,7 @@ static int play(void* data,int len,int flags){
|
|||
// MPEG and AC3 don't work :-(
|
||||
if(ao_data.format==AF_FORMAT_MPEG2)
|
||||
send_mpeg_ps_packet (data, len, 0xC0, ao_data.pts, 2, write_dxr2);
|
||||
else if(ao_data.format==AF_FORMAT_AC3)
|
||||
else if(AF_FORMAT_IS_AC3(ao_data.format))
|
||||
send_mpeg_ps_packet (data, len, 0x80, ao_data.pts, 2, write_dxr2);
|
||||
else {
|
||||
int i;
|
||||
|
|
Loading…
Reference in New Issue