summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-11-29 23:12:26 +0000
committerBenny Prijono <bennylp@teluu.com>2006-11-29 23:12:26 +0000
commita35cd16ec8ea8289b0c8a975ee858d39461a9cd9 (patch)
treea99b2b8167d318811ac8382cb099240020bd975d /pjsip-apps
parentf7dcb29bcb57eb7acfc1ae698053a54cfffb65ef (diff)
Fixed sndtest bug (ticket #32): it doesn't display the correct device being tested when default device is used.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@837 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/src/samples/sndtest.c32
1 files changed, 13 insertions, 19 deletions
diff --git a/pjsip-apps/src/samples/sndtest.c b/pjsip-apps/src/samples/sndtest.c
index b2e8fe6e..527fbe79 100644
--- a/pjsip-apps/src/samples/sndtest.c
+++ b/pjsip-apps/src/samples/sndtest.c
@@ -130,21 +130,6 @@ static void enum_devices(void)
}
-static const char *get_dev_name(int dev_id)
-{
- const pjmedia_snd_dev_info *info;
-
- if (dev_id == -1)
- dev_id = 0;
-
- info = pjmedia_snd_get_dev_info(dev_id);
- if (info == NULL)
- return "????";
-
- return info->name;
-}
-
-
static pj_status_t play_cb(void *user_data, pj_uint32_t timestamp,
void *output, unsigned size)
{
@@ -368,13 +353,14 @@ static void print_stream_data(const char *title,
}
-static int perform_test(const char *title, int dev_id, pjmedia_dir dir,
+static int perform_test(int dev_id, pjmedia_dir dir,
unsigned clock_rate, unsigned samples_per_frame,
unsigned nchannel, int verbose)
{
pj_status_t status = PJ_SUCCESS;
pjmedia_snd_stream *strm;
struct test_data test_data;
+ pjmedia_snd_stream_info si;
/*
@@ -389,8 +375,6 @@ static int perform_test(const char *title, int dev_id, pjmedia_dir dir,
/*
* Open device.
*/
- PJ_LOG(3,(THIS_FILE, "Testing %s", title));
-
if (dir == PJMEDIA_DIR_CAPTURE) {
status = pjmedia_snd_open_rec( dev_id, clock_rate, nchannel,
samples_per_frame, 16, &rec_cb,
@@ -410,6 +394,16 @@ static int perform_test(const char *title, int dev_id, pjmedia_dir dir,
return status;
}
+ pjmedia_snd_stream_get_info(strm, &si);
+ if (si.play_id >= 0) {
+ PJ_LOG(3,(THIS_FILE, "Testing playback device %s",
+ pjmedia_snd_get_dev_info(si.play_id)->name));
+ }
+ if (si.rec_id >= 0) {
+ PJ_LOG(3,(THIS_FILE, "Testing capture device %s",
+ pjmedia_snd_get_dev_info(si.rec_id)->name));
+ }
+
/* Sleep for a while to let sound device "settles" */
pj_thread_sleep(200);
@@ -594,7 +588,7 @@ int main(int argc, char *argv[])
frame = 10 * clock_rate / 1000;
- status = perform_test(get_dev_name(id), id, PJMEDIA_DIR_CAPTURE_PLAYBACK,
+ status = perform_test(id, PJMEDIA_DIR_CAPTURE_PLAYBACK,
clock_rate, frame, channel, verbose);
if (status != 0)
return 1;