Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
24 check-ins that include changes to files matching 'genode-haiku/haiku-on-genode/kits/media/*'
2024-06-28
| ||
11:27 | (release: 24.2) Fixup adapting to Genode 24.05: * tweak grub config for 'novga' etc (was forgotten in the previous commit) ; Prepare record_play_mixer switch: * make note that record_play_mixer does work now (probably since we started using the -fconcepts Gcc flag ?), so the migration path from legacy mixer seems to re-open ; Tweak static quotas: * dial down nic_drv RAM quota some more ; -- TESTS -- * no regression observed, in nic_drv or otherwise, on M73 ; check-in: 5b46fdc23e user: user tags: release, trunk | |
2024-05-04
| ||
18:58 | -- Fix lib-abis build dependency, tweak decoder, tweak mixer config -- Fix linking abis deps: * since day one, each symlink was created multiple times, wasting build time ; * we now make sure the SymLink to libc, haiku.lib.so etc are only done once ; Tweak decoder build: * add ifdefs around AVR code to allow disabling it in favor of a home-grown substitute (since AVR might be the culprit ?) ; * heck, might even find a substitute for av_read_frame() later, for testing purposes ; Tweak mixer config: * make it easy to switch back and forth between Legacy mixer and RecordPlayMixer ; Misc: * tweak various to-dos ; check-in: 40a5f42b55 user: user tags: trunk | |
2024-04-17
| ||
16:57 | -- Attempt migrating to driver_manager, tweak Play/Record -- Add system integration of "driver_manager": * leverage Genode's app/driver_manager component, to have dynamic (instead of static) graphics driver and storage driver setup ; * the old (static) integration path remain in place and is selected by default, the new path can be optionally selected with the USE_DRV_MANAGER env var ; * make nic_drv report to a platform_drv label compatible with dynamic path (and make static path accept that label too) ; * add other dependencies of the dynamic path too (intel_fb, intel_gpu, more keyboard layout filtering etc) ; Tweak Play/Record integration: * fix vfs_oss.lib.so ROM routing -- that should open the door to OSS testing of Play/Record ; * clean-up previous commit (Play/Record) a bit ; * optim audio_drv RAM usage as per upstream ; -- TESTS -- * running a "driver_manager" build (made with e.g. "USE_DRV_MANAGER=1 jam t8") works, but only in Qemu or VirtualBox ; * on real hardware, the screen remains black ; * it remains so, even if hardcoding Vesa in the driver_manager dynamic path (i.e. even Vesa is unhappy on real hardware, not just intel_fb_drv) ; * so driver_manager is not used for now, sticking to "static" drivers until further notice ; check-in: 7e52b51db0 user: user tags: trunk | |
2024-04-05
| ||
18:42 | -- Add support for new record_play_mixer (NOT enabled for now) -- Audio_out: add support for new mixer and new "Play/Record" session API: * add routes to Play and Record services, side by side with existing Audio_out and Audio_in services ; * sys. integration is hidden behind a jam "if" though (see "TESTS" section) ; * add _ge_AudioOut_playrecmix.cpp (intended to do the same job as _ge_AudioOut_native, but for Play instead of Audio_out) ; Audio_out: tweak for accuracy: * Progress() was being sourced from the decoder instead of audio-out (the decoder trail-blazes in front of the lagging audio-out, and Progress() ought to report on the latter, not on the former) ; * similar tweaks to be done later ; Audio OSS: fix build: * fix bitrot so that it compiles, in an attempt to make audio/play work thanks to OSS if not native audio ; -- TESTS -- * "record_play_mixer" path: my code produces heavily distorted audio, can't figure out why ; * OSS: it builds but vfs_oss.lib.so won't load for some reason (LD exception), will try again in 24.04 ; * so we'll stick with "legacy mixer" for now ; * note: in Qemu runs, audio-out fails to be routed to black_hole, but that's probably an old problem and won't be relevant once we migrate to the new mixer anyway ; check-in: 2c231f931c user: user tags: trunk | |
2024-01-12
| ||
18:05 | -- Bring MediaKit to t8 level, Fix-up toolchain support -- Complete MediaKit t8 support (at last): * make BSoundPlayer and other "t7/t8" classes compatible with the rest of our Genode code ; * push some classes (MediaAddOn etc) higher up to level 9 ; * building at t7 and t8 should now work, so make t8 the default level (instead of t6) for "jam haiku.lib.so" and "jam *" ; * building at t9 level is not officially supported yet, see below ; Fix-up toolchain support: * bring toolchain requirement up to Gcc12/23.05 (was still Gcc10/21.05, oops) ; * tweak BeBuild.h to accept Gcc12 as well ; ToDo: * still have to commit MediaAddOn.cpp and friends of "t9" build level ; * no hurry though: so far those are 'only' used by AC, but let's see if in the future we stumble on Be apps that do need them ; * tweak some ToDo priorities ; -- TESTS -- * this should allow compiling "jam t8", as required to build e.g. the Sudoku ("jam Sudoku") demo app ; * testing a "from scratch" build here, look good so far ; check-in: f22fb5c901 user: user tags: trunk | |
11:00 | fossil-add Haiku R1/b1 verbatim: SoundPlayer.cpp (the actual "verbatim" file this time), SoundPlayer.h and MediaNode.h (originally from headers/os/media), and debug.h (originally from headers/private/media/debug.h) ; check-in: dde9622a15 user: user tags: trunk | |
10:15 | fossil-RM file in media kit: * remove media/SoundPlayer.cpp, which on 2may23 was incorrectly added in already-patched form instead of 'verbatim' form, let's start over with this one ; check-in: 4ca9c04327 user: user tags: trunk | |
2023-12-20
| ||
16:17 | Genode 23.08 and 23.11 support: Compatibility: * nic_drv: switch over from ipxe_nic_drv to (Linux-based) pc_nic_drv ; * platform_drv: increase caps and ram, enable IOMMU reporting, enable "info=yes" for nic_drv ; * vfs_ntfs, media: don't pollute Genode C++ files with -DDEBUG macro (as of 23.08 there is now a DEBUG enum in cpu_state.h) ; * GeDepot and run_depot: use the latest version of Falkon and textedit, aka 2023-10-23 ; Simplification: * use lwip (instead of lxip) everywhere ; * use cached_fs_rom (instead of fs_rom) everywhere ; Misc: * BTextView: actually enable the Invalidate() work-arounds and document their use path ; * benchmarks: tighten vfs figures as Genode performs better (several figures are cut almost in half) ; * build: make it easier to build the extra "whole shebang", with a unique switch $(BUILD_DISTRO) in deskbar.run ; -- TESTS -- * no change with new Nic driver: still no networking on M73 (filed a ticket) ; * the new Falkon etc perform beautifully as before ; * same with AC ; check-in: e6680ff281 user: user tags: new-genode-rev, trunk | |
2023-12-15
| ||
12:09 | -- Fix-up Qt keyboard input, Falkon audio, BTextView caret, depot init, decorations feel -- Fix DeployPilot audio routing: * route Audio_in to black_hole, so that Audio_out's routing to HDA will be accepted ; Fix FtpPositive settings corruption: * the window frame might get corrupted on save/load, restore to factory setting if so ; Fix BTextView caret/cursor: * make sure caret code is actually called, was missing window.activated() hook call ; * still not a proper InvertRect(), but make it "good enough" with a StrokeRect() and Invalidate() calls ; Fix window decorations feel: * don't allow closing the window if it's undecorated, of if its close button is not enabled ; * don't allow moving the window around if it moving "handles" are not enabled ; Fix GeDepot setup: * filesystem init: add missing mkdir("public") ; Fix keyboard for Qt apps: * add a "chargen" section in event_filter, as the Genode port of Qt relies on it ; * currently hardcodes "en_us" keyboard layout for Qt apps (similar to the chargen-less layout we enforce for Be apps) ; Misc: * fix build (GeDepot include was not commited) ; * add (minimal) run scenario for Mail ; * tweak ToDos and log verbosity ; -- TESTS -- * keyboard works fine in Qt apps ; * audio-out (and video) work fine in Falkon web browser ; * Falkon quickly runs out of RAM on video-heavy sites, but seems great on 'reasonable' ones ; * no longer getting spurious move/close occurences on menu etc windows ; check-in: 8cdf24a034 user: user tags: trunk | |
2023-09-22
| ||
10:38 | (release: 23.2) * tweak some ToDo markers ; check-in: ffa0866517 user: user tags: release, trunk | |
2023-09-05
| ||
09:02 | -- Fix-up launch infrastructure -- * deskbar.run: broker's vfs now only exports the bro2app/ directory ; * deskbar.run: move exes to within bin/ and apps/ subdirs to somewhat mirror upstream Hai's layout ; * AppKit's get_app_ref(): implement by looking in environ[] for variable "_" (seems standard in upstream Hai ?) to discover what the app path (ref) is, so that BApplication.Init() will register correctly in the deskbar-registry ; * fix build of jam t1/t2 by moving load_image() implementation to layer-6-only source file ; * set-up: pass the actual argc/argv/environ to main() ; * tear-down: sever connection to the broker on tear down ; * tear-down: call exit() to actually terminate (and clean-up) the process when main() returns ; * broker: recycle pipes, so that we don't run out of pipes after just a handful launches ; * broker: work-around ticket #4987 by *not* closing the pipe at our (writer's) end ; -- Fix-up misc -- * WindowNitpickerPriv window decorations: implement B_NOT_CLOSABLE, otherwise one may unexpectedly close the deskbar when opening its pull-down menu ; * tweak priority levels of ToDo's ; -- TESTS -- * apps now get registered (by name) in the deskbar as they should ; * apps now get launched one after the other sans crashing ; * had an instance of "running out of launches" after ca. 18 launches of AK once, despite the broker recycling pipes, gotta dig ; * AC automation looking good when using launcher-launched AC (but bootmodule launch now fails for some reason) ; * had one AC freeze though, let's dig, must make sure to maintain/return to 100% stability ; check-in: 4826d8ad82 user: user tags: trunk | |
2023-06-24
| ||
10:32 | Genode 23.02 support, plus some tweaks : -- Adapt to Genode 23.02 APIs -- * adapt to Byte_range_ptr API usage ; * adapt to size_t API usage ; * adapt to deprecated base/debug.h Genode header ; * adapt to deprecated Genode::abs() function ; -- Adapt to Genode 23.02 build and integration -- * build new rev of grub2 ; * add new argument (bender "serial") needed by new grub2 (otherwise boot-up fails) ; * adapt to new acpica policy in platform_drv config (otherwise power-off fails) ; * add a note to make SURE integrators enable /dev/rtc in broker (otherwise broker fails to write to vfs pipes) ; -- Tweak FS to tolerate 'extreme' test-suite modes -- * vfs_ntfs: make it (partially) compatible with use-case where indexer is client-side whereas vfs_ntfs is server-side ; * works for GetNextAttrName() (needed strncpy symbol, and improvements in leaf_path() and directory()) ; * works (seemingly) for BQuery aka dev_for_path("/boot/newfile") ; * failed GetAttrInfo()/B_ENTRY_NOT_FOUND test: would need patching fs_file_system.h/_complete_read() to generate READ_ERR_INVALID instead of READ_ERR_IO ; -- Misc -- * indexer: fix the downstream libntfs-3g warning about "un-normalized path" by using an alternate variant of path.import() which does NOT create an un-normalized path to begin with ; * test-suite: return to local-fs mode for now that I'm no longer working on FS stability (if ever needed again, will need to put ALL vfs plug-ins server-side, like in production, otherwise I keep chasing extreme corner/pathological cases) ; * benchmarks: some tweaks, plus opendir() takes a bit longer ; -- TESTS -- * we're stable doing FS writing at last ! AutoCast has been running for a few days with ReportLog enable, with zero issue ; * credit goes to Genode Labs' ruthless quest for code clean-ups, which helped bring the bug's root cause to the fore and forced me to investigate :-) ; * that's with a custom-made fs_file_system patch though (forced wakeup_vfs_user() in _handle_ack()) ; * that's also with a post-23.02 vfs/pipe/plugin.cc patch cherry-picked/back-ported from #4785 (might be necessary, together with the /dev/rtc thing) ; * next I'll overhaul the xattr code so as to no longer need that patch ; * can't compile/run vnc_server any more though, but I'll upgrade to 23.05 later on, that one has an official binary available ; check-in: 91b37516e8 user: user tags: new-genode-rev, trunk | |
2023-06-23
| ||
11:19 | -- Media Kit : fix Duration() calculation -- * decoder/resampler: fix an (upstream?) issue whereby the progress() accessor returned incorrect values when the audio file's sample-rate differed from the Audio-Out sampling rate (e.g. with 22050 versus 44100 Hz, only half of the file would play before being considered finished) ; -- FS etc -- * NTFS-Fuse readdir: weed-out "." and "..", as is done in other file systems ; * clean-up and improve tracing ; -- TESTS -- * audio duration looks good on all test files now ; check-in: 61ba83d049 user: user tags: trunk | |
2023-05-02
| ||
16:26 | -- Improve Media Kit support of ogg/vorbis etc -- * fix decoder's iterating of demuxer packets : don't give up on the file if stumbling on an unknown chunk ; * cap ProduceBuffer() iterations at a given 'max' value (previously it was provided a 'min' value) ; * also make sure to not leak AV packets in any code path ; * altogether, this changeset restores behavior of the original genode-world sample code, which supported ogg/vorbis etc ; -- Extend FS test suite to exhibit opendir 'freeze' -- * allow FS tests to also run in client-server mode, in addition to hosting the ntfs plug-in in the client as previously ; * add more systematic tests for opendir() ; * that allows to demonstrate an opendir() 'hang up' that is 100% reproducible (in qemu), so long as the indexer is part of the combo ; * the culprit is probably our indexer plug-in and not Genode ; -- TESTS -- * those media changes fix audio playback of the test ogg/vorbis files here ; * we're still 100% stable in AC, so long as report-logging is disabled ; * still working on the FS lock-up, seems ge-libc's opendir does not return from "monitor" or some such ; check-in: ff8044a67e user: user tags: trunk | |
2023-04-14
| ||
08:58 | (release: 23.1) -- Tweak MediaKit, InterfaceKit -- * BMediaFile et al: add wiring for HasData(), though that does not seem to improve detection of aborted decodings (ogg/vorbis eg) ; * replace open-ended loop with bounded loop, to make infinite looping impossible ; * only fill the samples FIFO up to 50%, seems to make a difference ; * todo markers: plan ahead to clean up the mess ; * BWindow.UpdateIfNeeded(): release the window lock after (not before) we're done painting ; -- TESTS -- * stability seems to improve with the above changes ; * let's widen the test pool to gather more data ; check-in: 23de9e0e66 user: user tags: release, trunk | |
2023-04-03
| ||
18:11 | -- Implement Media Kit, layer 7 -- * comment out various things I don't need ; * wire Be classes to the Ge back-end in a kinda round-abount way (play/access 'mediatrack' through 'mediafile' for now) ; * will revisit in a few months to track the BMediaFile/BMediaTrack/BSoundPlayer separation more closely and cleanly ; * with that check-in, the code compiles and works and we now officially support "jam t7" ; -- TESTS -- * still 100% stable on TTS tests on main laptop ; will broaden the test pool later ; check-in: e8fe934e40 user: user tags: trunk | |
07:15 | fossil-add Haiku R1/b1 verbatim: MediaDefs check-in: 71c5133aff user: user tags: trunk | |
2023-03-30
| ||
11:27 | fossil-add Haiku R1/b1 verbatim: BMediaFile, BMediaTrack, couple other headers. With the next few commits this will allow building to "jam t8" (not just t6) level. check-in: 30e9892b38 user: user tags: trunk | |
2023-03-28
| ||
19:52 | fossil-add new LeakChecker and RingLog classes -- * located in newly created hog-libs/ folder, for code that may be used even in pure Genode components, not just in hybrid components ; * LeakChecker came in handy to find malloc/free issues in the ntfs plug-in ; * RingLog is useful for high-volume logging for which only the "tail-end snapshot" matters, e.g. BSoundPlayer's ge-native-audio classes ; -- TESTS -- * still getting flying colors, green across the board, thanks to the update to Genode 22.11 ; check-in: 19a4537a02 user: user tags: trunk | |
2023-03-15
| ||
10:44 | -- Implement Media Kit : add a 'native' audio-out back-end -- * keep the OSS back-end mothballed, with a tweak to IsAlmostFull(), might return to it later ; * add a 'native' (direct-to-Genode-mixer) back-end which does not rely on signals but polls stream.queued() instead ; * this is being used successfully with AC ; * still have to clean-up/commit a few missing classes yet for the Media Kit to compile ; -- TESTS -- * audio playback is fluid (no 'on-air blanks') with upperlimit_queue_threshold set to 64, on my T410 ; * stability was bad starting a couple months back, but seems to be good now, no more lock-ups for the last few days, after I fixed a mem leak in my vfs-ntfs code (coincidence ?) ; * there remains a few question marks yet (do "grep FIXME" to find them) ; check-in: 2dd1f3902d user: user tags: trunk | |
2023-01-09
| ||
17:27 | fossil-add Haiku R1/b1 verbatim: BStopWatch -- * handy to get a "feel" of vfs perf ; fossil-add MediaKit back-end -- * Audio-Out targetting OSS plug-in (didn't get "direct" code to work, OSS works well anyway) ; * LibAV for decoding MP3 etc files (inspired by Genode's sample code, thanks!) ; * that's Part 1, still need to commit BMediaFile et al ; TESTS on BARE METAL -- * continuing multi-hour tests ; * sometimes the audio chain gets 'stuck', will refit the buffer sizes, loops, etc, hopefully that'll be it ; check-in: 05d8a123f2 user: user tags: trunk | |
2021-05-22
| ||
15:28 | Genode 18.11 : we'll consider this commit as the reference Genode 18.11 one, before upgrading in the next few days ; Libroot-alternate: enable build ; this implements a number of 'syscalls', which no longer need to be stubbed out, so adjust stub list (and make it subject to "layering") ; NodeRef.h seems to be CR-LF in the haiku source tree, adjust to unix line feeds ; add thread-safety guards in critical places to protect access to shared (static) vars, since we'll use this "alternate" libroot as an actual libroot in a live, multi-threaded OS ; Build jamfiles: factor out "contrib" package version numbers (and depot versions) to an easy-to-maintain auxiliary Jamrules include ; will come in handy when upgrading to Genode 19.x ; link against "ABI" of libc, as linking directly against the "LIB.so" will no longer work in 19.05 ; remove a stray call to "strip" (the host's toolchain, not the Genode toolchain !) that's been there for months, piggy-backing on top of genode-x86-objcopy ... seems it was causing no harm, but still ; add an undocumented "layer zero", to deal with particularly difficult build situations where even linking against libc is undesirable ; add BMediaFile in layer 7 ; InterfaceKit: fix initial painting of BWindow, which would remain previously black in some cases ; MediaKit: add jamfile (but not cpp's for now) ; check-in: 7e2c0234c7 user: ttcoder tags: new-genode-rev, trunk | |
2021-05-11
| ||
17:12 | fossil-add Haiku R1/b1 verbatim: more AC dependancies (various kits and headers) ; still missing : Media Kit cpp's. check-in: d0bd77f7c4 user: ttcoder tags: trunk | |
2019-07-15
| ||
14:39 | jamfiles: add device/locale/media/support; we now have online most of the "kits" jamfiles. check-in: 030d973386 user: ttcoder tags: trunk | |