Changeset 1df3018a in mainline for uspace/srv/audio/hound/audio_sink.h


Ignore:
Timestamp:
2012-07-13T03:24:17Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d93a5a6f
Parents:
d01e635
Message:

hound: Only few more TODOs left

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/audio/hound/audio_sink.h

    rd01e635 r1df3018a  
    3737#define AUDIO_SINK_H_
    3838
     39#include <adt/list.h>
     40#include <async.h>
    3941#include <bool.h>
    40 #include <adt/list.h>
    4142#include <pcm_sample_format.h>
    4243#include <fibril.h>
    4344
     45#include "audio_source.h"
    4446#include "audio_format.h"
    45 #include "audio_source.h"
    4647
    47 typedef struct audio_sink {
     48typedef struct audio_sink audio_sink_t;
     49
     50struct audio_sink {
    4851        link_t link;
    4952        list_t sources;
    50         char *name;
     53        const char *name;
    5154        audio_format_t format;
    52         struct {
    53                 int (*hook)(void* arg);
    54                 void *arg;
    55         } connected_change;
    56 } audio_sink_t;
     55        void *private_data;
     56        int (*connection_change)(audio_sink_t *sink);
     57};
    5758
    58 static inline void audio_sink_set_connected_callback(audio_sink_t *sink,
    59     int (*hook)(void* arg), void* arg)
     59static inline audio_sink_t * audio_sink_list_instance(link_t *l)
    6060{
    61         assert(sink);
    62         sink->connected_change.arg = arg;
    63         sink->connected_change.hook = hook;
    64 };
    65 int audio_sink_init(audio_sink_t *sink, const char* name);
     61        return list_get_instance(l, audio_sink_t, link);
     62}
     63
     64int audio_sink_init(audio_sink_t *sink, const char *name,
     65    void *private_data, int (*connection_change)(audio_sink_t *sink),
     66    const audio_format_t *f);
     67void audio_sink_fini(audio_sink_t *sink);
     68
    6669int audio_sink_add_source(audio_sink_t *sink, audio_source_t *source);
    6770int audio_sink_remove_source(audio_sink_t *sink, audio_source_t *source);
Note: See TracChangeset for help on using the changeset viewer.