Changeset c5b8548 in mainline


Ignore:
Timestamp:
2013-04-05T12:24:43Z (11 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
704baed
Parents:
50179b63
Message:

hound: make audio data list element private

Location:
uspace/srv/audio/hound
Files:
2 edited

Legend:

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

    r50179b63 rc5b8548  
    6969}
    7070
    71 audio_data_link_t *audio_data_link_create(audio_data_t *adata)
     71/* Data link helpers */
     72
     73typedef struct {
     74        link_t link;
     75        audio_data_t *adata;
     76        size_t position;
     77} audio_data_link_t;
     78
     79static inline audio_data_link_t * audio_data_link_list_instance(link_t *l)
     80{
     81        return l ? list_get_instance(l, audio_data_link_t, link) : NULL;
     82}
     83
     84static audio_data_link_t *audio_data_link_create(audio_data_t *adata)
    7285{
    7386        assert(adata);
     
    8194}
    8295
    83 audio_data_link_t * audio_data_link_create_data(const void *data, size_t size,
    84     pcm_format_t format)
    85 {
    86         audio_data_link_t *link = NULL;
    87         audio_data_t *adata = audio_data_create(data, size, format);
    88         if (adata) {
    89                 link = audio_data_link_create(adata);
    90                 /* This will either return refcount to 1 or clean adata if
    91                  * cloning failed */
    92                 audio_data_unref(adata);
    93         }
    94         return link;
    95 }
    96 
    97 void audio_data_link_destroy(audio_data_link_t *link)
     96static void audio_data_link_destroy(audio_data_link_t *link)
    9897{
    9998        assert(link);
     
    103102}
    104103
    105 size_t audio_data_link_available_frames(audio_data_link_t *alink)
     104static inline const void * audio_data_link_start(audio_data_link_t *alink)
     105{
     106        assert(alink);
     107        assert(alink->adata);
     108        return alink->adata->data + alink->position;
     109}
     110
     111static inline size_t audio_data_link_remain_size(audio_data_link_t *alink)
     112{
     113        assert(alink);
     114        assert(alink->adata);
     115        assert(alink->position <= alink->adata->size);
     116        return alink->adata->size - alink->position;
     117}
     118
     119
     120static inline size_t audio_data_link_available_frames(audio_data_link_t *alink)
    106121{
    107122        assert(alink);
  • uspace/srv/audio/hound/audio_data.h

    r50179b63 rc5b8548  
    5151
    5252typedef struct {
    53         link_t link;
    54         audio_data_t *adata;
    55         size_t position;
    56 } audio_data_link_t;
    57 
    58 typedef struct {
    5953        list_t list;
    6054        size_t bytes;
     
    6357} audio_pipe_t;
    6458
    65 static inline audio_data_link_t * audio_data_link_list_instance(link_t *l)
    66 {
    67         return l ? list_get_instance(l, audio_data_link_t, link) : NULL;
    68 }
    69 
    7059audio_data_t * audio_data_create(const void *data, size_t size,
    7160    pcm_format_t format);
    7261void audio_data_addref(audio_data_t *adata);
    7362void audio_data_unref(audio_data_t *adata);
    74 
    75 audio_data_link_t * audio_data_link_create_data(const void *data, size_t size,
    76     pcm_format_t format);
    77 audio_data_link_t *audio_data_link_create(audio_data_t *adata);
    78 void audio_data_link_destroy(audio_data_link_t *link);
    79 
    80 size_t audio_data_link_available_frames(audio_data_link_t *alink);
    81 static inline const void * audio_data_link_start(audio_data_link_t *alink)
    82 {
    83         assert(alink);
    84         assert(alink->adata);
    85         return alink->adata->data + alink->position;
    86 }
    87 
    88 static inline size_t audio_data_link_remain_size(audio_data_link_t *alink)
    89 {
    90         assert(alink);
    91         assert(alink->adata);
    92         assert(alink->position <= alink->adata->size);
    93         return alink->adata->size - alink->position;
    94 }
    9563
    9664void audio_pipe_init(audio_pipe_t *pipe);
Note: See TracChangeset for help on using the changeset viewer.