mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-13 09:36:46 +00:00
[core] add audio channels limit when opening files, configurable through switch.conf.xml (param "max-audio-channels"), add unit-test.
This commit is contained in:
@@ -185,6 +185,45 @@ FST_CORE_BEGIN("./conf")
|
||||
|
||||
}
|
||||
FST_TEST_END()
|
||||
FST_TEST_BEGIN(test_switch_core_file_open_max_audio_channels)
|
||||
{
|
||||
switch_file_handle_t fh = { 0 };
|
||||
switch_status_t status = SWITCH_STATUS_FALSE;
|
||||
static char filename[] = "/tmp/fs_unit_test.wav";
|
||||
static char hdr[] = /*simplest wav file, hardcoded 8 channels*/
|
||||
"\x52\x49\x46\x46"
|
||||
"\x24\x00\x00\x00"
|
||||
"\x57\x41\x56\x45"
|
||||
"\x66\x6d\x74\x20"
|
||||
"\x10\x00\x00\x00"
|
||||
"\x01\x00\x08\x00"
|
||||
"\x44\xac\x00\x00"
|
||||
"\x88\x58\x01\x00"
|
||||
"\x02\x00\x10\x00"
|
||||
"\x64\x61\x74\x61"
|
||||
"\x00\x00";
|
||||
FILE *f = NULL;
|
||||
|
||||
f = fopen(filename, "w");
|
||||
fst_check(f != NULL);
|
||||
fwrite(hdr, 1, sizeof(hdr) ,f);
|
||||
fclose(f);
|
||||
|
||||
switch_core_max_audio_channels(6);
|
||||
status = switch_core_file_open(&fh, filename, 1, 8000, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL);
|
||||
fst_check(status == SWITCH_STATUS_FALSE);
|
||||
|
||||
switch_core_max_audio_channels(8);
|
||||
status = switch_core_file_open(&fh, filename, 1, 8000, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL);
|
||||
fst_check(status == SWITCH_STATUS_SUCCESS);
|
||||
|
||||
status = switch_core_file_close(&fh);
|
||||
fst_check(status == SWITCH_STATUS_SUCCESS);
|
||||
|
||||
unlink(filename);
|
||||
}
|
||||
FST_TEST_END()
|
||||
|
||||
}
|
||||
FST_SUITE_END()
|
||||
}
|
||||
|
Reference in New Issue
Block a user