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_source.h

    rd01e635 r1df3018a  
    4141#include <pcm_sample_format.h>
    4242
     43
    4344#include "audio_format.h"
    4445
     46struct audio_sink;
     47typedef struct audio_source audio_source_t;
    4548
    46 typedef struct {
     49struct audio_source {
    4750        link_t link;
    48         char *name;
    49         struct {
    50                 int (*hook)(void* arg, const audio_format_t *f);
    51                 void *arg;
    52         } connected_change;
    53         struct {
    54                 int (*hook)(void* arg);
    55                 void *arg;
    56         } get_data;
     51        const char *name;
     52        audio_format_t format;
     53        void *private_data;
     54        int (*connection_change)(audio_source_t *source);
     55        int (*update_available_data)(audio_source_t *source, size_t size);
     56        struct audio_sink *connected_sink;
    5757        struct {
    5858                void *base;
    5959                size_t size;
    60         } available;
    61         audio_format_t format;
    62 } audio_source_t;
     60        } available_data;
     61};
    6362
    6463static inline audio_source_t * audio_source_list_instance(link_t *l)
     
    6766}
    6867
    69 int audio_source_init(audio_source_t *source, const char *name);
    70 static inline void audio_source_set_connected_callback(audio_source_t *source,
    71     int (*hook)(void* arg, const audio_format_t *f), void* arg)
    72 {
    73         assert(source);
    74         source->connected_change.arg = arg;
    75         source->connected_change.hook = hook;
    76 }
    77 int audio_source_connected(audio_source_t *source, const audio_format_t *f);
     68int audio_source_init(audio_source_t *source, const char *name, void *data,
     69    int (*connection_change)(audio_source_t *),
     70    int (*update_available_data)(audio_source_t *, size_t),
     71    const audio_format_t *f);
     72void audio_source_fini(audio_source_t *source);
     73int audio_source_connected(audio_source_t *source, struct audio_sink *sink);
    7874int audio_source_add_self(audio_source_t *source, void *buffer, size_t size,
    7975    const audio_format_t *f);
Note: See TracChangeset for help on using the changeset viewer.