Rework formats

Use a POD for the format body. This allows us to more easily build
and copy the formats.
Remove obsolete code to make video and audio formats.
Use SpaVideo/AudioInfo to keep track of formats. Make functions to parse
the format into the structures.
Update plugins
This commit is contained in:
Wim Taymans 2017-02-24 09:28:18 +01:00
parent 7fc73953cd
commit 16b62de53a
34 changed files with 1096 additions and 1579 deletions

View file

@ -22,6 +22,7 @@
#include <pinos/server/core.h>
#include <pinos/server/data-loop.h>
#include <pinos/server/client-node.h>
#include <spa/lib/debug.h>
typedef struct {
PinosGlobal this;

View file

@ -59,9 +59,10 @@ pinos_link_update_state (PinosLink *link,
PinosLinkState old = link->state;
if (state != old) {
pinos_log_debug ("link %p: update state %s -> %s", link,
pinos_log_debug ("link %p: update state %s -> %s (%s)", link,
pinos_link_state_as_string (old),
pinos_link_state_as_string (state));
pinos_link_state_as_string (state),
error);
link->state = state;
if (link->error)
@ -97,8 +98,10 @@ do_negotiate (PinosLink *this, SpaNodeState in_state, SpaNodeState out_state)
0,
NULL,
&error);
if (format == NULL)
if (format == NULL) {
asprintf (&error, "no common format found");
goto error;
}
pinos_log_debug ("link %p: doing set format", this);
if (pinos_log_level_enabled (SPA_LOG_LEVEL_DEBUG))