Changeset 018ab50 in mainline for uspace/app/wavplay/dplay.c


Ignore:
Timestamp:
2012-08-20T11:28:46Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fb6c98f
Parents:
20840922
Message:

audio: Move event callback into separate API calls.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/wavplay/dplay.c

    r20840922 r018ab50  
    123123
    124124
    125 static void play(playback_t *pb, unsigned channels,  unsigned sampling_rate,
     125static void play(playback_t *pb, unsigned channels, unsigned sampling_rate,
    126126    pcm_sample_format_t format)
    127127{
     
    129129        assert(pb->device);
    130130        pb->buffer.position = pb->buffer.base;
     131        printf("Registering event callback\n");
     132        int ret = audio_pcm_register_event_callback(pb->device,
     133            device_event_callback, pb);
     134        if (ret != EOK) {
     135                printf("Failed to register event callback.\n");
     136                return;
     137        }
    131138        printf("Playing: %dHz, %s, %d channel(s).\n",
    132139            sampling_rate, pcm_sample_format_str(format), channels);
     
    139146        const unsigned frames = pb->buffer.size /
    140147            (BUFFER_PARTS * channels * pcm_sample_format_size(format));
    141         int ret = audio_pcm_start_playback(pb->device,
    142             frames, channels, sampling_rate, format);
     148        ret = audio_pcm_start_playback(pb->device, frames, channels,
     149            sampling_rate, format);
    143150        if (ret != EOK) {
    144151                fibril_mutex_unlock(&pb->mutex);
     
    152159        fibril_mutex_unlock(&pb->mutex);
    153160        printf("\n");
     161        audio_pcm_unregister_event_callback(pb->device);
    154162}
    155163
     
    177185        playback_initialize(&pb, session);
    178186
    179         ret = audio_pcm_get_buffer(pb.device, &pb.buffer.base,
    180             &pb.buffer.size, device_event_callback, &pb);
     187        ret = audio_pcm_get_buffer(pb.device, &pb.buffer.base, &pb.buffer.size);
    181188        if (ret != EOK) {
    182189                printf("Failed to get PCM buffer: %s.\n", str_error(ret));
Note: See TracChangeset for help on using the changeset viewer.