doc: tutorial3: use tabs for indentation

This commit is contained in:
Barnabás Pőcze 2022-07-21 00:19:02 +02:00 committed by Wim Taymans
parent b3db13be10
commit bb0cda3d94
2 changed files with 68 additions and 68 deletions

View file

@ -9,30 +9,30 @@
/* [roundtrip] */ /* [roundtrip] */
static int roundtrip(struct pw_core *core, struct pw_main_loop *loop) static int roundtrip(struct pw_core *core, struct pw_main_loop *loop)
{ {
struct spa_hook core_listener; struct spa_hook core_listener;
int pending, done = 0; int pending, done = 0;
void core_event_done(void *object, uint32_t id, int seq) { void core_event_done(void *object, uint32_t id, int seq) {
if (id == PW_ID_CORE && seq == pending) { if (id == PW_ID_CORE && seq == pending) {
done = 1; done = 1;
pw_main_loop_quit(loop); pw_main_loop_quit(loop);
} }
} }
const struct pw_core_events core_events = { const struct pw_core_events core_events = {
PW_VERSION_CORE_EVENTS, PW_VERSION_CORE_EVENTS,
.done = core_event_done, .done = core_event_done,
}; };
spa_zero(core_listener); spa_zero(core_listener);
pw_core_add_listener(core, &core_listener, pw_core_add_listener(core, &core_listener,
&core_events, NULL); &core_events, NULL);
pending = pw_core_sync(core, PW_ID_CORE, 0); pending = pw_core_sync(core, PW_ID_CORE, 0);
while (!done) { while (!done) {
pw_main_loop_run(loop); pw_main_loop_run(loop);
} }
spa_hook_remove(&core_listener); spa_hook_remove(&core_listener);
return 0; return 0;
} }
/* [roundtrip] */ /* [roundtrip] */
@ -50,37 +50,37 @@ static const struct pw_registry_events registry_events = {
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
struct pw_main_loop *loop; struct pw_main_loop *loop;
struct pw_context *context; struct pw_context *context;
struct pw_core *core; struct pw_core *core;
struct pw_registry *registry; struct pw_registry *registry;
struct spa_hook registry_listener; struct spa_hook registry_listener;
pw_init(&argc, &argv); pw_init(&argc, &argv);
loop = pw_main_loop_new(NULL /* properties */); loop = pw_main_loop_new(NULL /* properties */);
context = pw_context_new(pw_main_loop_get_loop(loop), context = pw_context_new(pw_main_loop_get_loop(loop),
NULL /* properties */, NULL /* properties */,
0 /* user_data size */); 0 /* user_data size */);
core = pw_context_connect(context, core = pw_context_connect(context,
NULL /* properties */, NULL /* properties */,
0 /* user_data size */); 0 /* user_data size */);
registry = pw_core_get_registry(core, PW_VERSION_REGISTRY, registry = pw_core_get_registry(core, PW_VERSION_REGISTRY,
0 /* user_data size */); 0 /* user_data size */);
spa_zero(registry_listener); spa_zero(registry_listener);
pw_registry_add_listener(registry, &registry_listener, pw_registry_add_listener(registry, &registry_listener,
&registry_events, NULL); &registry_events, NULL);
roundtrip(core, loop); roundtrip(core, loop);
pw_proxy_destroy((struct pw_proxy*)registry); pw_proxy_destroy((struct pw_proxy*)registry);
pw_core_disconnect(core); pw_core_disconnect(core);
pw_context_destroy(context); pw_context_destroy(context);
pw_main_loop_destroy(loop); pw_main_loop_destroy(loop);
return 0; return 0;
} }
/* [code] */ /* [code] */

View file

@ -15,9 +15,9 @@ Let's take the following small method first:
Let's take a look at what this method does. Let's take a look at what this method does.
\code{.c} \code{.c}
struct spa_hook core_listener; struct spa_hook core_listener;
spa_zero(core_listener); spa_zero(core_listener);
pw_core_add_listener(core, &core_listener, pw_core_add_listener(core, &core_listener,
&core_events, NULL); &core_events, NULL);
\endcode \endcode
@ -26,18 +26,18 @@ object. We are only interested in the `done` event in this
tutorial. This is the event handler: tutorial. This is the event handler:
\code{.c} \code{.c}
int pending, done = 0; int pending, done = 0;
void core_event_done(void *data, uint32_t id, int seq) { void core_event_done(void *data, uint32_t id, int seq) {
if (id == PW_ID_CORE && seq == pending) { if (id == PW_ID_CORE && seq == pending) {
done = 1; done = 1;
pw_main_loop_quit(loop); pw_main_loop_quit(loop);
} }
} }
const struct pw_core_events core_events = { const struct pw_core_events core_events = {
PW_VERSION_CORE_EVENTS, PW_VERSION_CORE_EVENTS,
.done = core_event_done, .done = core_event_done,
}; };
\endcode \endcode
When the done event is received for an object with id `PW_ID_CORE` When the done event is received for an object with id `PW_ID_CORE`
@ -47,7 +47,7 @@ variable to 1 and call `pw_main_loop_quit()`.
Next we do: Next we do:
\code{.c} \code{.c}
pending = pw_core_sync(core, PW_ID_CORE, 0); pending = pw_core_sync(core, PW_ID_CORE, 0);
\endcode \endcode
This triggers the `sync` method on the core object with id This triggers the `sync` method on the core object with id
@ -68,9 +68,9 @@ We then run the mainloop to send the messages to the server and
receive the events: receive the events:
\code{.c} \code{.c}
while (!done) { while (!done) {
pw_main_loop_run(loop); pw_main_loop_run(loop);
} }
\endcode \endcode
When we get the done event, we can compare it to the sync method When we get the done event, we can compare it to the sync method
@ -79,7 +79,7 @@ more pending methods on the server. We can quit the mainloop and
remove the listener: remove the listener:
\code{.c} \code{.c}
spa_hook_remove(&core_listener); spa_hook_remove(&core_listener);
\endcode \endcode
If we add this roundtrip method to our code and call it instead of the If we add this roundtrip method to our code and call it instead of the
@ -100,7 +100,7 @@ the objects we created. Let's destroy each of them in reverse order that we
created them: created them:
\code{.c} \code{.c}
pw_proxy_destroy((struct pw_proxy*)registry); pw_proxy_destroy((struct pw_proxy*)registry);
\endcode \endcode
The registry is a proxy and can be destroyed with the generic proxy destroy The registry is a proxy and can be destroyed with the generic proxy destroy
@ -110,7 +110,7 @@ an error to destroy an object more than once.
We can disconnect from the server with: We can disconnect from the server with:
\code{.c} \code{.c}
pw_core_disconnect(core); pw_core_disconnect(core);
\endcode \endcode
This will also destroy the core proxy object and will remove the proxies This will also destroy the core proxy object and will remove the proxies
@ -119,8 +119,8 @@ that might have been created on this connection.
We can finally destroy our context and mainloop to conclude this tutorial: We can finally destroy our context and mainloop to conclude this tutorial:
\code{.c} \code{.c}
pw_context_destroy(context); pw_context_destroy(context);
pw_main_loop_destroy(loop); pw_main_loop_destroy(loop);
\endcode \endcode
\ref page_tutorial2 | \ref page_tutorial "Index" | \ref page_tutorial4 \ref page_tutorial2 | \ref page_tutorial "Index" | \ref page_tutorial4