clock: remove clock interface

Remove the clock interface, we need to get timing information with an io
area to get the required precision and performance.
This commit is contained in:
Wim Taymans 2018-07-17 09:50:51 +02:00
parent 83bb8dc599
commit fba00fb791
22 changed files with 31 additions and 516 deletions

View file

@ -120,20 +120,11 @@ pw_spa_node_new(struct pw_core *core,
{
struct pw_node *this;
struct impl *impl;
void *iface = NULL;
struct pw_type *t = pw_core_get_type(core);
int res;
this = pw_node_new(core, name, properties, sizeof(struct impl) + user_data_size);
if (this == NULL)
return NULL;
if (handle) {
if ((res = spa_handle_get_interface(handle, t->spa_clock, &iface)) < 0)
iface = NULL;
this->clock = iface;
}
impl = this->user_data;
impl->this = this;
impl->owner = owner;

View file

@ -20,7 +20,6 @@
#ifndef __PIPEWIRE_SPA_NODE_H__
#define __PIPEWIRE_SPA_NODE_H__
#include <spa/clock/clock.h>
#include <spa/node/node.h>
#include <pipewire/core.h>

View file

@ -1218,11 +1218,9 @@ struct pw_link *pw_link_new(struct pw_core *core,
pw_node_add_listener(output_node, &impl->output_node_listener, &output_node_events, impl);
input_node->live = output_node->live;
if (output_node->clock)
input_node->clock = output_node->clock;
pw_log_debug("link %p: output node %p clock %p, live %d",
this, output_node, output_node->clock, output_node->live);
pw_log_debug("link %p: output node %p live %d",
this, output_node, output_node->live);
spa_list_append(&output->links, &this->output_link);
spa_list_append(&input->links, &this->input_link);

View file

@ -23,7 +23,6 @@
#include <errno.h>
#include <time.h>
#include <spa/clock/clock.h>
#include <spa/lib/debug.h>
#include <spa/pod/parser.h>

View file

@ -305,9 +305,9 @@ static int do_add_port(struct spa_loop *loop,
out = &this->node->rt.node;
in = &this->rt.mix_node;
}
spa_graph_link_add(out, in->state, &this->rt.mix_link);
this->rt.mix_link.signal = spa_graph_link_signal_node;
this->rt.mix_link.signal_data = in;
spa_graph_link_add(out, in->state, &this->rt.mix_link);
return 0;
}

View file

@ -269,7 +269,6 @@ struct pw_node {
struct spa_list driver_list;
struct spa_list driver_link;
struct spa_clock *clock; /**< handle to SPA clock if any */
struct spa_node *node; /**< SPA node implementation */
struct spa_list resource_list; /**< list of resources for this node */

View file

@ -21,7 +21,6 @@
#include <spa/support/type-map.h>
#include <spa/utils/defs.h>
#include <spa/clock/clock.h>
#include <spa/param/format.h>
#include <spa/param/props.h>
#include <spa/monitor/monitor.h>
@ -50,7 +49,6 @@ int pw_type_init(struct pw_type *type)
type->spa_log = spa_type_map_get_id(type->map, SPA_TYPE__Log);
type->spa_node = spa_type_map_get_id(type->map, SPA_TYPE__Node);
type->spa_clock = spa_type_map_get_id(type->map, SPA_TYPE__Clock);
type->spa_monitor = spa_type_map_get_id(type->map, SPA_TYPE__Monitor);
type->spa_format = spa_type_map_get_id(type->map, SPA_TYPE__Format);
type->spa_props = spa_type_map_get_id(type->map, SPA_TYPE__Props);