Changeset 76ea1b7 in mainline for uspace/srv/audio/hound/audio_data.h


Ignore:
Timestamp:
2013-04-04T13:38:38Z (11 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5a6f362
Parents:
23878dc
Message:

hound: make audio data reference counted

File:
1 edited

Legend:

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

    r23878dc r76ea1b7  
    3838
    3939#include <adt/list.h>
     40#include <atomic.h>
    4041
    4142typedef struct {
    4243        const void *data;
    4344        size_t size;
    44         link_t link;
     45        atomic_t refcount;
    4546} audio_data_t;
    4647
    47 static inline audio_data_t * audio_data_list_instance(link_t *l)
     48typedef struct {
     49        link_t link;
     50        audio_data_t *adata;
     51        size_t position;
     52} audio_data_link_t;
     53
     54static inline audio_data_link_t * audio_data_link_list_instance(link_t *l)
    4855{
    49         return l ? list_get_instance(l, audio_data_t, link) : NULL;
     56        return l ? list_get_instance(l, audio_data_link_t, link) : NULL;
    5057}
    5158
     59audio_data_link_t * audio_data_link_create(const void *data, size_t size);
     60audio_data_link_t *audio_data_link_clone(audio_data_t *adata);
     61void audio_data_link_destroy(audio_data_link_t *link);
    5262
    5363#endif
Note: See TracChangeset for help on using the changeset viewer.