提交 f7ee1cf7 编写于 作者: P Palana

coreaudio-encoder: Add log level parameter to log_osstatus

上级 6ed694f6
......@@ -88,7 +88,8 @@ static const char *code_to_str(OSStatus code)
return NULL;
}
static void log_osstatus(ca_encoder *ca, const char *context, OSStatus code)
static void log_osstatus(int log_level, ca_encoder *ca, const char *context,
OSStatus code)
{
#ifndef _WIN32
CFErrorRef err = CFErrorCreate(kCFAllocatorDefault,
......@@ -102,20 +103,20 @@ static void log_osstatus(ca_encoder *ca, const char *context, OSStatus code)
char *c_str = malloc(max_size);
if (CFStringGetCString(str, c_str, max_size, kCFStringEncodingUTF8)) {
if (ca)
CA_BLOG(LOG_ERROR, "Error in %s: %s", context, c_str);
CA_BLOG(log_level, "Error in %s: %s", context, c_str);
else
CA_LOG(LOG_ERROR, "Error in %s: %s", context, c_str);
CA_LOG(log_level, "Error in %s: %s", context, c_str);
} else {
#endif
const char *code_str = code_to_str(code);
if (ca)
CA_BLOG(LOG_ERROR, "Error in %s: %s%s%d%s", context,
CA_BLOG(log_level, "Error in %s: %s%s%d%s", context,
code_str ? code_str : "",
code_str ? " (" : "",
(int)code,
code_str ? ")" : "");
else
CA_LOG(LOG_ERROR, "Error in %s: %s%s%d%s", context,
CA_LOG(log_level, "Error in %s: %s%s%d%s", context,
code_str ? code_str : "",
code_str ? " (" : "",
(int)code,
......@@ -199,7 +200,8 @@ static bool enumerate_bitrates(ca_encoder *ca, AudioConverterRef converter,
kAudioConverterApplicableEncodeBitRates,
&size, NULL);
if (code) {
log_osstatus(ca, "AudioConverterGetPropertyInfo(bitrates)",
log_osstatus(LOG_ERROR, ca,
"AudioConverterGetPropertyInfo(bitrates)",
code);
return false;
}
......@@ -220,7 +222,8 @@ static bool enumerate_bitrates(ca_encoder *ca, AudioConverterRef converter,
kAudioConverterApplicableEncodeBitRates,
&size, bitrates);
if (code) {
log_osstatus(ca, "AudioConverterGetProperty(bitrates)", code);
log_osstatus(LOG_ERROR, ca,
"AudioConverterGetProperty(bitrates)", code);
return false;
}
......@@ -268,7 +271,7 @@ static bool create_encoder(ca_encoder *ca, AudioStreamBasicDescription *in,
#define STATUS_CHECK(c) \
code = c; \
if (code) { \
log_osstatus(ca, #c, code); \
log_osstatus(LOG_ERROR, ca, #c, code); \
return false; \
}
......@@ -324,7 +327,7 @@ static void *aac_create(obs_data_t *settings, obs_encoder_t *encoder)
#define STATUS_CHECK(c) \
code = c; \
if (code) { \
log_osstatus(ca, #c, code); \
log_osstatus(LOG_ERROR, ca, #c, code); \
goto free; \
}
......@@ -447,7 +450,8 @@ static void *aac_create(obs_data_t *settings, obs_encoder_t *encoder)
kAudioConverterPropertyMaximumOutputPacketSize,
&size, &max_packet_size);
if (code) {
log_osstatus(ca, "AudioConverterGetProperty(PacketSz)",
log_osstatus(LOG_ERROR, ca,
"AudioConverterGetProperty(PacketSz)",
code);
ca->output_buffer_size = 32768;
} else {
......@@ -540,7 +544,8 @@ static bool aac_encode(void *data, struct encoder_frame *frame,
complex_input_data_proc, ca, &packets,
&buffer_list, &out_desc);
if (code && code != 1) {
log_osstatus(ca, "AudioConverterFillComplexBuffer", code);
log_osstatus(LOG_ERROR, ca, "AudioConverterFillComplexBuffer",
code);
return false;
}
......@@ -646,7 +651,8 @@ static void query_extra_data(ca_encoder *ca)
kAudioConverterCompressionMagicCookie,
&size, NULL);
if (code) {
log_osstatus(ca, "AudioConverterGetPropertyInfo(magic_cookie)",
log_osstatus(LOG_ERROR, ca,
"AudioConverterGetPropertyInfo(magic_cookie)",
code);
return;
}
......@@ -662,7 +668,8 @@ static void query_extra_data(ca_encoder *ca)
kAudioConverterCompressionMagicCookie,
&size, extra_data);
if (code) {
log_osstatus(ca, "AudioConverterGetProperty(magic_cookie)",
log_osstatus(LOG_ERROR, ca,
"AudioConverterGetProperty(magic_cookie)",
code);
goto free;
}
......@@ -728,14 +735,15 @@ static AudioConverterRef get_default_converter(UInt32 format_id)
OSStatus code = AudioFormatGetProperty(kAudioFormatProperty_FormatInfo,
0, NULL, &size, &out);
if (code) {
log_osstatus(NULL, "AudioFormatGetProperty(format_info)", code);
log_osstatus(LOG_ERROR, NULL,
"AudioFormatGetProperty(format_info)", code);
return NULL;
}
AudioConverterRef converter;
code = AudioConverterNew(&in, &out, &converter);
if (code) {
log_osstatus(NULL, "AudioConverterNew", code);
log_osstatus(LOG_ERROR, NULL, "AudioConverterNew", code);
return NULL;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册