/[qemu]/qemu/audio/mixeng.h
ViewVC logotype

Diff of /qemu/audio/mixeng.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by bellard, Sun Nov 7 18:04:02 2004 UTC revision 1.2 by bellard, Sun Oct 30 18:58:22 2005 UTC
# Line 1  Line 1 
1  /*  /*
2   * QEMU Mixing engine header   * QEMU Mixing engine header
3   *   *
4   * Copyright (c) 2004 Vassili Karpov (malc)   * Copyright (c) 2004-2005 Vassili Karpov (malc)
5   *   *
6   * Permission is hereby granted, free of charge, to any person obtaining a copy   * Permission is hereby granted, free of charge, to any person obtaining a copy
7   * of this software and associated documentation files (the "Software"), to deal   * of this software and associated documentation files (the "Software"), to deal
8   * in the Software without restriction, including without limitation the rights   * in the Software without restriction, including without limitation the rights
# Line 24  Line 24 
24  #ifndef QEMU_MIXENG_H  #ifndef QEMU_MIXENG_H
25  #define QEMU_MIXENG_H  #define QEMU_MIXENG_H
26    
27  typedef void (t_sample) (void *dst, const void *src, int samples);  #ifdef FLOAT_MIXENG
28  typedef void (f_sample) (void *dst, const void *src, int samples);  typedef float real_t;
29    typedef struct { int mute; real_t r; real_t l; } volume_t;
30    typedef struct { real_t l; real_t r; } st_sample_t;
31    #else
32    typedef struct { int mute; int64_t r; int64_t l; } volume_t;
33  typedef struct { int64_t l; int64_t r; } st_sample_t;  typedef struct { int64_t l; int64_t r; } st_sample_t;
34    #endif
35    
36    typedef void (t_sample) (st_sample_t *dst, const void *src,
37                             int samples, volume_t *vol);
38    typedef void (f_sample) (void *dst, const st_sample_t *src, int samples);
39    
40  extern t_sample *mixeng_conv[2][2][2];  extern t_sample *mixeng_conv[2][2][2][2];
41  extern f_sample *mixeng_clip[2][2][2];  extern f_sample *mixeng_clip[2][2][2][2];
42    
43  void *st_rate_start (int inrate, int outrate);  void *st_rate_start (int inrate, int outrate);
44  void st_rate_flow (void *opaque, st_sample_t *ibuf, st_sample_t *obuf,  void st_rate_flow (void *opaque, st_sample_t *ibuf, st_sample_t *obuf,
45                     int *isamp, int *osamp);                     int *isamp, int *osamp);
46    void st_rate_flow_mix (void *opaque, st_sample_t *ibuf, st_sample_t *obuf,
47                           int *isamp, int *osamp);
48  void st_rate_stop (void *opaque);  void st_rate_stop (void *opaque);
49    void mixeng_clear (st_sample_t *buf, int len);
50    
51  #endif  /* mixeng.h */  #endif  /* mixeng.h */

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26