Commit Graph

1072 Commits

Author SHA1 Message Date
Jérôme Duval
bde7e6208e out_input must be filled by the consumer node. Fixes a bug when getting a wrong connection info
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-05 09:13:41 +00:00
beveloper
1210ab70ac Huge hack to load the mp3 reader and decoder.
Soundplay loads it and can play a crackling mp3, but MediaPlayer doesn't


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-05 01:18:51 +00:00
beveloper
572e60a481 some more changes, no longer using BMediaFormats
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-01 22:20:59 +00:00
beveloper
a3c29bc44a cleanup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-29 13:28:35 +00:00
beveloper
da87cefeb1 added the new media_meta_description and changed codec API to use it
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-28 22:34:14 +00:00
beveloper
d484cacf51 made multithread save by removing global variables
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-25 23:00:03 +00:00
beveloper
d859148201 integration of codec API into BMediaFile and BMediaTrack
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-23 22:19:21 +00:00
beveloper
bce1ab5efd another round of codec API changes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-23 18:17:35 +00:00
beveloper
dd1c60e271 integrated mpglib into mp3_decoder. obviously, the api needs to be changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-21 21:28:52 +00:00
beveloper
90ca169469 added Jamfiles to include mpglib
clean up of mpglib
removed global variable from mpglib, should be thread save now
moved global initialization code in it's own function


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-21 17:54:10 +00:00
beveloper
f3f8a29195 include mp3 decoder
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-21 17:52:36 +00:00
beveloper
081576bd3d Imported mpglib from mpg123 pre0.59s. Licensed as LGPL.
To be used by mp3_decoder as static library only.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-21 16:56:35 +00:00
beveloper
9a74184e35 added format publishing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-21 15:28:22 +00:00
beveloper
329b5b99b6 added duration calculation, seeking and data reading
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-20 22:30:09 +00:00
beveloper
59664e0a60 avoid reading some common file formats that might contain a mp3 stream
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-10 22:59:33 +00:00
beveloper
51fde20c1e added info header parsing (to be able to skip it), fixed lyrics header parsing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-09 22:13:50 +00:00
beveloper
6f6f67dc90 Xing VBR headers are always crc free, but might have the crc bit set. we don't care about this :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-09 22:01:27 +00:00
beveloper
a1862e53c5 added more mp3 file parsing, VBR headers are now found, audio data position and size is determined
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-09 21:50:50 +00:00
François Revol
ccd79dfdce fixed mp3 identification, skip ID3s
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-08 20:26:29 +00:00
beveloper
2e814a410e added mp3 file detection, doesn't work with all files yet
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-08 13:36:45 +00:00
beveloper
ba36517465 added unimplemented mp3 reader, adjusted wav reader to recent api changes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-04 01:31:01 +00:00
beveloper
a33c76090e RIFF WAV header structures
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 23:56:13 +00:00
beveloper
ca16f5cb03 start of media kit codec plugin API
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-17 23:55:19 +00:00
Jérôme Duval
e75df357b9 internal latency = 1 buffer
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-14 16:25:28 +00:00
beveloper
4afd4ca0f8 new defaults
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 17:03:24 +00:00
beveloper
dbaf884cd1 nicer debug output
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 17:03:00 +00:00
Jérôme Duval
c7116c9114 Added more than two buffers support + various fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-10 15:49:09 +00:00
beveloper
e92593f46a implemented glitch correction, but it doesn' work very well after a longer time
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 20:18:35 +00:00
beveloper
29f200aad8 removed warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 21:35:09 +00:00
beveloper
a4a8378370 disabled debug code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 20:51:58 +00:00
beveloper
dfbe8043fa I fixed a timing bug. The mixer was accidentally sending itself
a notification about downstream latency change, when it really
should have send that to the connected inputs. This is now done
by the PublishEventLatencyChange() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 19:39:35 +00:00
beveloper
f91503b9d9 added a debbuging outputs, start threads always at high priority
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-07 22:32:17 +00:00
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
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
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
shatty
c0ecc31328 fix compile with DEBUG on by changing arguments to PRINT_OBJECT
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-15 19:07:27 +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
Ingo Weinhold
2386ff94ad Added missing include.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-05 12:30:23 +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
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
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
beveloper
7ee2c8049c Internal API rewritten, BMediaNode and derived classes functionality implemented.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-15 18:17:56 +00:00
beveloper
be2a24894f Mixer rewrite, work in progress.
Moved Input and Output handling into the MixerCore class,
format and connection negotiation remains in AudioMixer class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-11 23:46:33 +00:00
beveloper
678c20170c added new mixer components
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-07 01:11:51 +00:00
beveloper
545124e6a1 disable node stopping on the system mixer
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-05 16:55:43 +00:00
beveloper
fb71d3a960 fixed copy&paste errors
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 00:53:15 +00:00
beveloper
9b875fba0c added remaining float_to_*()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 00:41:02 +00:00
beveloper
88e430cbeb added remaining *_to_float()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 00:27:48 +00:00
beveloper
7ca83dacf0 added float_to_float resampling
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-04 00:19:39 +00:00
beveloper
575526ff34 added a resampling class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-03 22:51:00 +00:00
beveloper
b63f90a895 limit max latency
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-03 21:10:49 +00:00
Axel Dörfler
83d0693448 Added some debug output for unimplemented functionality. Cleaned up a bit,
but should probably rewritten - I think it's already too complex now to solve
that whole task.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-03 02:57:26 +00:00
beveloper
11b92ae72b next event calculation properly based on frames played in performace time now
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-03 01:15:18 +00:00
beveloper
4295907bd1 fixed (hopefully) all latency bugs
fixed BMediaRoster::MakeTimeSourceFor()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-01 22:09:26 +00:00
beveloper
5917dd5b85 various timing related bugfixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-01 17:18:24 +00:00
beveloper
1ab3e01897 bugfixes and debug information
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-30 20:34:48 +00:00
beveloper
9bedd42cd1 many fixes to improve timing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-29 17:28:11 +00:00
beveloper
b74540ee0d The video demo node is not a physical input.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-25 15:50:11 +00:00
beveloper
e02a6254fc Removed connecting to soundcard, since the node is not registered
with the media_server inside the AutoStart() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-25 15:31:47 +00:00
beveloper
c9c07d8183 The audio mixer is now started automatically by the media kit.
It will connect itself to the default audio output.
Memory leaks removed.
Code cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-24 23:52:34 +00:00
beveloper
1e6f362d07 this is a demo node
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-23 21:54:02 +00:00
beveloper
11bb5731c8 Added the tone producer add-on for testing and demo purposes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-23 21:51:47 +00:00
beveloper
1b14f4182f Allow 5 concurrent instances for testing,
changed name to indicate that this is a demo.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-23 21:50:57 +00:00
beveloper
d6f3c208b1 Adding the Video Producer Demo Media-Add-On, from BeOS sample code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-21 19:21:56 +00:00
Jérôme Duval
c8093d3c8d ParameterWeb state is now saved and restored for each node.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-05-02 16:26:53 +00:00
Jérôme Duval
056e08e286 Cleanups
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-21 00:16:26 +00:00
beveloper
be4e010170 The multi_audio media addon, written by Jerome Duval.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-17 21:58:35 +00:00
beveloper
2937222250 removed \n
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-15 23:56:43 +00:00
beveloper
29625f7611 Removed instantiation restrictions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-03-15 15:40:43 +00:00
shatty
9ed520d828 changes in anticipation of useful double-clicking
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 07:36:36 +00:00
shatty
5bc7143bb9 fixed some casting bugs
fixed newline at end of file


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 09:26:42 +00:00
shatty
de52c54764 fixed casting bugs (builds now)
also fixed newline at end of file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-28 09:20:04 +00:00
shatty
232527b282 corrected nit in AbstractFileInterfaceAddOn.h
added demultiplexer to Jamfile


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 02:33:27 +00:00
shatty
0216fe7112 util functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 02:28:49 +00:00
shatty
a1eca89c99 broke out util-style functions into separate misc files.
also corrected some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 02:28:12 +00:00
shatty
30747068b4 broke out util-style functions into separate misc file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 02:27:01 +00:00
shatty
728a8c7497 it compiles
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 02:25:35 +00:00
shatty
d5525d8c93 initial (non-working) commit
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-20 05:53:23 +00:00
shatty
4895a3a9e0 added some format re-negotiation code for SetRef, moved lib functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-19 20:19:55 +00:00
shatty
981e41277b fixed debug fprintfs, comments, and a type cast.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-19 07:13:37 +00:00
shatty
dc44d571b3 fixed debug fprintfs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-19 07:11:43 +00:00
shatty
d25a7b31f6 implemented preliminary format re-negotiation for SetRef. re-ordered
library functions.  fixed some debug fprintfs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-19 07:11:21 +00:00
shatty
378762da1d fixed crashing bug by computing and setting internal latency properly
and checking buffer validity when a buffer is received.  removed the
downstream latency variable because there is no downstream from this
node.  also added helpful comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-18 07:37:15 +00:00
shatty
39a0622e4b fixed buffer period calculation bug.
changed start_time to be TimeSource()->Now().
added some helpful comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-18 06:26:44 +00:00
shatty
7229ad13fc removed unnessary status_t variable
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-17 07:37:40 +00:00
shatty
45ed7b19fd changed allocation scheme
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 22:01:44 +00:00
shatty
e49967f361 missed comment now entered
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 05:46:51 +00:00
shatty
8811eeb6aa fixed for connecting and crashing bugs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 05:45:42 +00:00
shatty
2a6deaf6c4 Fixed allocation problem.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 05:17:06 +00:00
shatty
ca6f35b121 Fixed allocation problem and removed out-of-date parameter lines.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 05:16:24 +00:00
shatty
794887f87f uses abstract file interface node now
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 03:31:02 +00:00
shatty
242094db6d abstract file interface node used for reader and writer
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-16 03:29:54 +00:00
shatty
7eb88330cf repaired damage done by cvs commit of writer into this dir.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 13:57:39 +00:00
shatty
9262d3ec4f accidently committed to wrong dir. now in "writer" dir.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 13:54:29 +00:00
shatty
389207789b initial commit. can be instantiated in cortex and can connected to the reader node.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 13:51:27 +00:00
shatty
8cd0aa93ba first building node that can be instantiated in cortex with connector
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 13:33:30 +00:00
shatty
912d7a22e2 Added writer to jamfile.
Made some robustness improvements to mediareader based on things
that I noticed while doing mediawriter.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 13:32:18 +00:00
shatty
6836f3623e fileproducer -> reader
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 10:48:17 +00:00
shatty
820c41b91e Renamed from fileproducer to reader, both classes and directories
Don't bother looking at fileproducer since there are no versions there
beyond the initial commit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 10:47:24 +00:00
shatty
9b0a15bb06 changed fileproducer to reader
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 10:42:01 +00:00
shatty
38fb7dfa99 renamed class and directory to "reader" and MediaReader
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 10:40:42 +00:00
shatty
8c5a53fbe5 initial commit
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 10:01:19 +00:00
shatty
abbf22f13e include fileproducer when building
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-14 10:00:14 +00:00
beveloper
ea83877f0b David Shipman provides this update to the audio mixer add-on
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-18 12:43:06 +00:00
beveloper
294ad0679f include the mixer when building
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 00:01:09 +00:00
beveloper
00cffa1ce7 David Shipman started implementing the BeOS system audio mixer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 23:55:28 +00:00
beveloper
8b721c0728 removed warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 15:07:40 +00:00
beveloper
79de8cf953 get the legacy.media_addon compiling, even though it wont work
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 12:33:57 +00:00
Ingo Weinhold
b72a95e61b Tried to add the currently only media add-on to the build, but commented out the lines in the Jamfile, for it fails to compile -- not finding headers I can't find either. Whoever is responsible may uncomment them and get it compiling.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@89 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:03:26 +00:00
beveloper
440b3fb4ba /boot/home/config/add-ons/media/legacy.media_addon
Adding the legacy (BeOS R3) sound driver interface BMediaAddOn.

Written by Jens Winkler, snapshot from 2002-06-02.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@71 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 00:42:58 +00:00