Thread (2 messages) flat view 2 messages, 2 authors, 2008-10-15

[Bluez-devel] audio service

From: rakesh agarwal <hidden>
Date: 2008-10-14 04:36:15

Hi all,
I was trying to write simple program for a2dp in C language. This is the
program that I m trying to run......



#include <string.h>
#include <ctype.h>
#include <unistd.h>
#include <glib.h>
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
#include <dbus/dbus-glib-bindings.h>

#include <bluetooth/bluetooth.h>

#include "marshal.h"
#include "marshal.c"


GMainLoop *loop;

static void
session_created ()
{
    g_message ("a2dp device created");
}

static void
session_removed (DBusGProxy *proxy, const char *session_object, gpointer
user_data)
{
    g_message ("playing");

}


int
main ()
{


    char* address = "00:19:63:EF:83:17";

    DBusGConnection *dbus_connection;
    DBusGProxy *dbus_proxy;
    GError *error = NULL;
    int ret;
    char *id;
    gchar *object_path = NULL;

    g_type_init ();
    id = (char*) g_malloc0(50);
    dbus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
    if (error) {
        g_warning ("%s", error->message);
        g_clear_error (&error);
    }
    error = NULL;

    dbus_proxy = dbus_g_proxy_new_for_name (dbus_connection, "org.bluez",
"/org/bluez", "org.bluez.Manager");
    dbus_g_object_register_marshaller (marshal_STRING__STRING,
G_TYPE_NONE,
                                                    G_TYPE_STRING,
                                                    G_TYPE_STRING);

    dbus_g_proxy_call (dbus_proxy,
"ActivateService",&error,G_TYPE_STRING,"audio",G_TYPE_INVALID,G_TYPE_STRING,id,G_TYPE_INVALID);
    if(error != NULL){
        g_print("ERROR : %s",error->message);
        //exit(0);
    }
    else
        g_print("id = %s",id);

    error = NULL;

    dbus_proxy = dbus_g_proxy_new_for_name (dbus_connection,id,
                                 "/org/bluez/audio",
                                 "org.bluez.audio.Manager");

    ret = dbus_g_proxy_call (dbus_proxy, "CreateDevice", &error,
                            G_TYPE_STRING, address,
                            G_TYPE_INVALID,
                            DBUS_TYPE_G_OBJECT_PATH, &object_path,
                            G_TYPE_INVALID);
    if (!ret) {
        g_warning ("Error1: %s", error->message);
        g_clear_error (&error);
        return FALSE;
    } else
        g_message ("Object path: %s", object_path);

    dbus_proxy = dbus_g_proxy_new_for_name (dbus_connection,
"org.bluez",
                                 object_path,
                                 "org.bluez.audio.Sink");

    dbus_g_proxy_add_signal (dbus_proxy, "Connected", G_TYPE_INVALID,
G_TYPE_INVALID);
    dbus_g_proxy_connect_signal (dbus_proxy, "Connected", G_CALLBACK
(session_created),
                   NULL, NULL);

    dbus_g_proxy_add_signal (dbus_proxy, "Playing", G_TYPE_INVALID,
G_TYPE_INVALID);
    dbus_g_proxy_connect_signal (dbus_proxy, "Playing", G_CALLBACK
(session_removed),
                       NULL, NULL);


    dbus_g_proxy_call (dbus_proxy, "Connect", &error,
                            G_TYPE_INVALID,
                            G_TYPE_INVALID);
    dbus_g_proxy_call (dbus_proxy, "Play", &error,
                            G_TYPE_INVALID,
                            G_TYPE_INVALID);

    loop = g_main_loop_new (NULL, FALSE);
    g_main_loop_run (loop);


    return 0;
}


But getting these error message while running........

[Invalid UTF-8] id = \xb0\xe1\x04\x08
** (process:6157): WARNING **: Error1: Method "CreateDevice" with signature
"s" on interface "org.bluez.audio.Manager" doesn't exist


PLz help me out......

Thanks in advance.....

Rakesh

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help