beveloper
d91580cd9a
removed/fixed warnings
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 02:18:11 +00:00
beveloper
188b5de0bf
renamed atomic_read() into atomic_get() (since we already have atomic_set(), but not a atomic_write())
...
renamed user_??? functions into the new _user_??? naming style.
changed implementation of PPC 64 bit atomic functions to use (un)lock_memory()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 01:21:56 +00:00
beveloper
a54e42d79a
removed debugger call,
...
added name to BLocker
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-30 23:47:55 +00:00
beveloper
b93355ab58
it was missing these two functions...
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-29 01:28:00 +00:00
beveloper
3c839f3f7b
fixed description
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-29 01:22:44 +00:00
beveloper
6ecb8ce9a0
removed stupid type cast
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-29 01:19:01 +00:00
beveloper
ad159f4343
cleaned up meaning of first constructor parameter
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-29 00:54:54 +00:00
beveloper
2fc06b8774
Replaced the broken BBlockCache implementation.
...
According to the BeBook, it is NOT allowed to allocate one large
pool, instead the memory blocks must be allocated individually.
To achieve O(1) for both Save() and Get() function, only one list
of free blocks is maintained.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-29 00:27:08 +00:00
beveloper
188ad70f3d
Replaced the broken BBufferCache implementation.
...
According to the BeBook, it is NOT allowed to allocate one large
pool, instead the memory blocks must be allocated individually.
To achieve O(1) for both Save() and Get() function, only one list
of free blocks is maintained.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-29 00:25:56 +00:00
beveloper
5fe840b9b5
fixed address checking in ppc atomic functions.
...
fixed compilation on x86.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 23:36:06 +00:00
beveloper
50e0ce4bee
Implemented new syscalls for 32 and 64 bit atomic operations.
...
They are only used if the architecture doesn't support them directly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 23:02:00 +00:00
beveloper
fb16941a02
added atomic_read
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 17:55:56 +00:00
beveloper
0163e36659
Added 32 bit atomic read.
...
Implemented all 64 bit atomic operations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 23:21:26 +00:00
beveloper
ea8af9630a
renamed test_and_set into atomic_test_and_set
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:56:22 +00:00
beveloper
40ac5c5195
cvs server: Up-to-date check failed for `src/kernel/core/vm/vm.c'
...
cvs [server aborted]: correct above errors first!
cvs commit: saving log message in /tmp/cvsFPtfaj
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:48:15 +00:00
beveloper
5f993f93ff
renamed test_and_set into atomic_test_and_set
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:35:24 +00:00
beveloper
b4e05c0eb8
On most systems, atomic functions do not need to be implemented as syscalls.
...
ATOMIC_FUNCS_ARE_SYSCALLS is only defined on architecture like SH4.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:34:42 +00:00
beveloper
abe798f30b
fixed spelling error
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:33:00 +00:00
beveloper
867695ddb7
architecture specific CPU things, like defines
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:29:36 +00:00
beveloper
3cbce96a24
removed no longer used include file
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:26:30 +00:00
beveloper
2fdb794edc
The atomic and system_time function are now included in the
...
kernel_os_arch_x86.o file that is genereated by libroot.
Removed duplicate implementations from this file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:23:44 +00:00
beveloper
67fd74cd28
moved atomic user functions to SH4 atomic.c
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:21:57 +00:00
beveloper
6f54d569e9
added 64 bit atomic functions (implementation still pending),
...
removed non atomic functions from this file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:19:42 +00:00
beveloper
a36eac86ac
Removed system_time from atomic.S file and added it in a separate one.
...
The atomic and system_time function are now included in the kernel_os_arch_x86.o file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:16:43 +00:00
beveloper
890b96d5c5
removed system_time from atomic.S file and added it in a separate one.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:15:23 +00:00
beveloper
74aad02bac
SH4 needs atomic operations to be implemented as syscalls, other
...
architecture can do this better. Removed from generic cpu.c file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:13:45 +00:00
beveloper
d3e72fa555
added missing 32 bit atomic functions,
...
and added all their 64bit counterparts.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:08:13 +00:00
beveloper
a4cd9d18a1
input connection settings are saved now, too
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-17 18:49:27 +00:00
beveloper
1165d5e18a
added support for a settings file,
...
some fixes in the deferred saving code,
added save/load to mixer connections
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-17 16:03:46 +00:00
beveloper
c3465a64ee
added full balance control to all input channels
...
removed performance display control and settings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-17 01:34:54 +00:00
beveloper
5fa60b3b64
added balance control to output
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-17 00:34:48 +00:00
beveloper
4224efc3c7
implemeted non linear gain controls (similar to BeOS R5)
...
allow to select gain control slider modus in setup
(either controls physical input, or virtual output channels)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-16 19:40:31 +00:00
beveloper
26bf7cd399
added mixer setup tab functionality and storage of settings
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-16 17:40:28 +00:00
beveloper
7c5fb432b0
if DEBUG was not defined, it will now be defined with a value smaller than null.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-26 01:10:55 +00:00
beveloper
44327fe2c2
Added a setup tab
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-26 01:10:05 +00:00
beveloper
904c699d7f
changed debug message
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 23:28:47 +00:00
beveloper
d96a1bd846
removed non-needed map include file
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 23:27:26 +00:00
beveloper
c3b1c2a692
Implemented proper handling of latency changes that occur when connecting
...
a chain of mixer nodes. Also added a small hack to always pick the optimal
frame rate and channel count when connecting multiple audio mixer nodes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 21:36:38 +00:00
beveloper
914ab8f76f
fixed the macro names
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 19:55:54 +00:00
beveloper
9a32a037e5
this is really annoying
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-04 00:09:20 +00:00
beveloper
0f221b9065
bugfix
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 23:47:53 +00:00
beveloper
643e1b2e76
other input mapping
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 23:39:59 +00:00
beveloper
ab276ac888
added a dedicated mono channel type, allows nicer mapping of 1 channel input
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 23:30:27 +00:00
beveloper
69517c1537
Removed gain controls from input channel mapping group.
...
Gain for each virtual mixer channel is now controlled in the main control group.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 22:38:21 +00:00
beveloper
9c3be6a557
Fixed some debug macros.
...
Cleanup of MixerInput class.
Implemented output destination mapping controls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 22:01:27 +00:00
beveloper
e0dc5b6d1f
introduce a gain cache for non active sources to allow changing of gain without activating them, and to avoid gain value beeing reset to 0.0 each time enable is cycled.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 01:05:21 +00:00
beveloper
b6270d60b2
Cleanup of MixerOutput class, the channel type is now used instead of channel designation or channel_mask
...
Implemented output channel remapping controls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-03 00:27:47 +00:00
beveloper
0c63c7d061
Started implementing input and output channel mapping controls.
...
Optimized inner loop of mix thread, up to 10% faster now.
Moved some #includes around.
Added #define for maximum supported channel types.
Removed static buffers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-02 22:30:51 +00:00
beveloper
c378a5ecf8
limit maximum latency
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:58:34 +00:00
beveloper
6c8c941ac3
moved max() function and added min() function
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 20:57:42 +00:00
beveloper
8936182d3c
preparing for input/output channel mapping.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 19:36:10 +00:00
beveloper
57b75f140b
The mixer gain controls must change the physical input channels, not the virtual mixer internal channels.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 01:53:42 +00:00
beveloper
b326a30e21
implemented muting of the master output
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 00:49:23 +00:00
beveloper
2cb2bc4111
Use B_MASTER_GAIN kind for master gain control to allow Deskbar volume control to work.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 00:38:11 +00:00
beveloper
087e6a8afd
fixed MediaPlayer volume control bug by using R5 like ID assignments (taken from media kit SoundPlayer.cpp)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 00:29:38 +00:00
beveloper
1c237c1852
implemented mute support for input channel, fixed casting bugs
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-01 00:13:24 +00:00
beveloper
9391f0a552
added mixer gain controls
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 23:57:13 +00:00
beveloper
b5a088d01f
avoid creation of loopback connections
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 16:21:01 +00:00
beveloper
af8d0a4d4e
Fixed the input buffer looping bug that existed if an input wouldn't receive new buffers. Now kips inputs that have no available data.
...
When no input is connected, use a fast path for sending an empty buffer.
No more debugging output when DEUBG < 1
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 15:45:37 +00:00
beveloper
a2ca472394
cleanup of debugging code
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 13:59:11 +00:00
beveloper
1081d7ce81
now supports endian adjustment at the output
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 11:36:36 +00:00
beveloper
15dca7402c
a minor performance improvement
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 11:05:45 +00:00
beveloper
fcfad7f823
cosmetic change
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 10:43:29 +00:00
beveloper
fbd392018b
uses about 20% less CPU now
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 10:42:23 +00:00
beveloper
20789329c3
a simple list template that uses realtime memory
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 10:41:09 +00:00
beveloper
52ae1ec688
disabled double rate mixing, it's not useful with the current resampling implementation.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 00:16:53 +00:00
beveloper
aef8495f7b
fixed memory leaks
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-30 00:06:01 +00:00
beveloper
60e2e68ce4
finally it does mixing, but we should get rid of the CPU eating List template
...
at this place, as it internally calls malloc, free, new and delete quite often
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 23:08:00 +00:00
beveloper
806cf56077
default channel assignment profiles
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 21:44:11 +00:00
beveloper
fae6ce82e3
added output channel control functions,
...
made most often called functions inline
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 20:03:44 +00:00
beveloper
7619f562d5
fixed the debug output, added a workaround for missing samples if the
...
mixer framerate is not an integral multiple of the input framerate
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 16:02:15 +00:00
beveloper
cb595db745
added an additional sanity check
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 14:55:46 +00:00
beveloper
7d970b3122
finally fixed the last major bug that was reponsible for plops
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 14:54:00 +00:00
beveloper
191033ef76
debugging improvement, fixed locking, fixed sample copy bug in channel 1
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 11:36:39 +00:00
beveloper
356855c3f6
ugly workaround, create a new pool for each input mix buffer,
...
to avoid running out of default pool memory. It would be much
better if a pool would grow if more memory is requested than
available.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 01:17:52 +00:00
beveloper
dfe7be41fb
small work around
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 01:15:49 +00:00
beveloper
d5848e21a4
rewrote start and stop handling to allow connecting an input without
...
having an output, followed by starting the node.
fix some bugs of handling an unconnected output
added better locking to the mix thread
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 00:31:36 +00:00
beveloper
90f98241f4
added some sanity checks
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-29 00:29:08 +00:00
beveloper
8d28117ff7
multiple bugfixes, but still many pops in output audio stream
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 23:07:47 +00:00
beveloper
5ca6a7e85e
renamed the media node
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 23:05:56 +00:00
beveloper
c47e5a5ae9
added format change function
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 23:04:21 +00:00
beveloper
2560202bae
additional helper functions
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 22:59:53 +00:00
beveloper
b3d75d0db3
removed leftover of debugging instrumentation
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 22:00:32 +00:00
beveloper
6b5e150832
most likely fixed downsampling bugs
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-28 21:55:58 +00:00
beveloper
8df36cdd65
Added experimental copying of the left channel from either input 1 or 0,
...
there seem to be some resampling related bugs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 21:27:00 +00:00
beveloper
78563dcaec
use sample size when calculating channel offsets, no more buffer overruns
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 18:04:34 +00:00
beveloper
16cecbde36
some workarounds, fMixStartTime is now always 0,
...
delay mix thread if timesource has negative time,
calculate correct time and frame base for mix thread
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 16:21:41 +00:00
beveloper
b9bc85776c
added mixing thread, as well as start and stop
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-25 00:19:49 +00:00
beveloper
7b0daf5cca
allocate mixer buffers of the correct size,
...
place incoming data in input specific mix buffer
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-24 22:41:02 +00:00
beveloper
299d70ad2d
added helper functions for buffer<->framerate<->duration conversions
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-24 22:39:13 +00:00
beveloper
aa1480c7be
cleanup disassembly output by using local labels
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-21 02:31:58 +00:00
beveloper
50be0c99cf
GCC is way too smart or buggy and will (at least in this case) remove (optimize away) non __volatile__ asm statements :(
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-21 02:08:03 +00:00
beveloper
88777023cd
support endian adjustment,
...
other small changes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-21 01:57:39 +00:00
beveloper
526735b289
There we go, a dedicated byte swapping class for endian adjustment.
...
I even throw in a piece of premature optimization.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-21 01:56:30 +00:00
beveloper
a4b8db8530
identify mixer channels by a type number (0 to 31)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-20 21:39:01 +00:00
beveloper
c6f7aae127
synced
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-20 21:01:09 +00:00
beveloper
2e9d660756
mixer input buffer assignment and gain setting implemented
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-20 16:55:19 +00:00
beveloper
5ac4fbd70d
clean up of debugging functions
...
FATAL is now replaced by ERROR and active at DEBUG=1 or above
TRACE is active at 2 or above
PRINT(level, ...) can be used for DEBUG= level or abode
INFO is removed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-19 14:53:41 +00:00
beveloper
5657491aac
changed format into ioFormat to indicate that this is a input and output parameter
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-19 14:48:52 +00:00
beveloper
e6c7c99fc9
added connecting/disconnecting of inputs/outputs
...
changed debug functions
added multiaudio format correction
added workaround for broken BeOS R5 media_format:SpecializeTo()
fixed AudioMixer::Connect function to use correct destination
added utility functions
fixed locking bugs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-19 14:09:00 +00:00