comparison libpurple/media.c @ 26427:cd41e1655a3e

Remove purple_media_audio_init_* functions.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Sun, 22 Mar 2009 23:24:31 +0000
parents 0c96ac2ea5f8
children d7393eebf1f4
comparison
equal deleted inserted replaced
26426:8457de1211f2 26427:cd41e1655a3e
1397 NULL, NULL); 1397 NULL, NULL);
1398 g_object_unref(media); 1398 g_object_unref(media);
1399 } 1399 }
1400 } 1400 }
1401 1401
1402 void
1403 purple_media_audio_init_src(GstElement **sendbin, GstElement **sendlevel)
1404 {
1405 GstElement *src;
1406 GstElement *volume;
1407 GstPad *pad;
1408 GstPad *ghost;
1409 const gchar *audio_device = purple_prefs_get_string("/purple/media/audio/device");
1410 double input_volume = purple_prefs_get_int("/purple/media/audio/volume/input")/10.0;
1411
1412 g_return_if_fail(sendbin != NULL && sendlevel != NULL);
1413
1414 *sendbin = gst_bin_new("purplesendaudiobin");
1415 src = gst_element_factory_make("alsasrc", "asrc");
1416 volume = gst_element_factory_make("volume", "purpleaudioinputvolume");
1417 g_object_set(volume, "volume", input_volume, NULL);
1418 *sendlevel = gst_element_factory_make("level", "sendlevel");
1419 gst_bin_add_many(GST_BIN(*sendbin), src, volume, *sendlevel, NULL);
1420 gst_element_link(src, volume);
1421 gst_element_link(volume, *sendlevel);
1422 pad = gst_element_get_pad(*sendlevel, "src");
1423 ghost = gst_ghost_pad_new("ghostsrc", pad);
1424 gst_element_add_pad(*sendbin, ghost);
1425 g_object_set(G_OBJECT(*sendlevel), "message", TRUE, NULL);
1426
1427 if (audio_device != NULL && strcmp(audio_device, ""))
1428 g_object_set(G_OBJECT(src), "device", audio_device, NULL);
1429 }
1430
1431 void
1432 purple_media_audio_init_recv(GstElement **recvbin, GstElement **recvlevel)
1433 {
1434 GstElement *sink, *volume, *queue;
1435 GstPad *pad, *ghost;
1436 double output_volume = purple_prefs_get_int(
1437 "/purple/media/audio/volume/output")/10.0;
1438
1439 g_return_if_fail(recvbin != NULL && recvlevel != NULL);
1440
1441 *recvbin = gst_bin_new("pidginrecvaudiobin");
1442 sink = gst_element_factory_make("alsasink", "asink");
1443 g_object_set(G_OBJECT(sink), "async", FALSE, "sync", FALSE, NULL);
1444 volume = gst_element_factory_make("volume", "purpleaudiooutputvolume");
1445 g_object_set(volume, "volume", output_volume, NULL);
1446 *recvlevel = gst_element_factory_make("level", "recvlevel");
1447 queue = gst_element_factory_make("queue", NULL);
1448 gst_bin_add_many(GST_BIN(*recvbin), sink, volume,
1449 *recvlevel, queue, NULL);
1450 gst_element_link(*recvlevel, sink);
1451 gst_element_link(volume, *recvlevel);
1452 gst_element_link(queue, volume);
1453 pad = gst_element_get_pad(queue, "sink");
1454 ghost = gst_ghost_pad_new("ghostsink", pad);
1455 gst_element_add_pad(*recvbin, ghost);
1456 g_object_set(G_OBJECT(*recvlevel), "message", TRUE, NULL);
1457 }
1458
1459 static void 1402 static void
1460 purple_media_new_local_candidate_cb(FsStream *stream, 1403 purple_media_new_local_candidate_cb(FsStream *stream,
1461 FsCandidate *local_candidate, 1404 FsCandidate *local_candidate,
1462 PurpleMediaSession *session) 1405 PurpleMediaSession *session)
1463 { 1406 {