Commit Graph

31004 Commits

Author SHA1 Message Date
Axel Dörfler
8399a7c04d * When a buffer_info is removed, its area is now actually deleted as well. This
already fixes bug #4189, although there is another bug that could cause a
  similar effect (working on that next).
* Switched from media_server local TMap to HashMap, although this is probably
  equally archaic.
* Also replaced TList with std::set for the team list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 09:45:04 +00:00
Axel Dörfler
5174cb1f74 * Added copyless direct value accessors (via Iterator::NextValue(), and
Get()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 09:42:34 +00:00
Axel Dörfler
696b8f43fb * Cleanup, BufferManager now aggregates the buffer map as well as its locker
instead of allocating them separately, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 08:55:02 +00:00
Axel Dörfler
86766d6aca * handle_driver_events() kept the sDriversListLock locked over the whole
time. But since this is also locked from within the driver/directory watcher
  (with the node monitor lock held), and handle_driver_events() could cause
  node monitoring updates, the locking order could be reverted, causing a
  deadlock (I just ran into).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 08:24:23 +00:00
Philippe Houdoin
e3ba97b8aa Fixed a crash when resizing GLInfo window (or any non-BDirectWindow with GLView kid(s), for that matter).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 00:17:30 +00:00
Philippe Houdoin
c4decd80b1 Fixed hardcoded AudioProducer output name.
Stephan, Axel, could one of you report this change in clockwerk/src/shared/AudioProducer.cpp too.
Clockwerk name his audio output "MediaPlayer Sound Output", which is both confusing and, well, 
semantically wrong ;-).

BTW, for MediaPlayer being able to (re)name his output after the filename playing will be great, no?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 21:55:22 +00:00
Stefano Ceccherini
d0c308a5b6 Accidentally enabled tracing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 21:31:17 +00:00
Stefano Ceccherini
9a95658ce0 Some cleanups. Shouldn't include any functional changes, except maybe
better cleanup on exiting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 21:30:39 +00:00
Stefano Ceccherini
804f3b726b Reverted r21451, otherwise ParticlesII crashes after a while, if the
accelerant doesn't support moving the frame buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 21:29:22 +00:00
Axel Dörfler
86a1f079e9 * Also fill out monitor_info production date from EDID info.
* Do not set serial_number if there is none.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 19:10:22 +00:00
Axel Dörfler
1a8af60548 * Now also puts the monitor's serial number and production date into the
tool tip (if available).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 19:08:36 +00:00
Ingo Weinhold
6905c8a6ee Removed superfluous check.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 18:41:21 +00:00
François Revol
bd7f3915e6 Move board/ into arch/arm/ since boards likely depend on a cpu anyway. Other archs might want to use the same structure (mipsel ?).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 17:29:55 +00:00
Axel Dörfler
13247f3a8c * This fixes VGA mode frame buffer use, no idea when this got broken. It might
be broken in the app_server now, but I haven't checked yet.
* Fixed typo in vesa.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 17:24:23 +00:00
Philippe Houdoin
0ac197fcfd Fixed Clockwerk gcc2/gcc4 package filenames.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 16:54:19 +00:00
Axel Dörfler
a21284874f * Rewrote BBufferGroup header.
* Cleaned up the source file, no functional change (intended).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 16:08:47 +00:00
François Revol
034ea9408b Placeholder for current GSoC targets (verdex is QEMU, overo is the real one).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 16:01:17 +00:00
François Revol
b0b9925be1 Introduce a new level of portability: boards.
Since we don't support Flattened Device Trees yet (and they don't solve all the issues), we need a place to hole board-specific config, which are different even though we use U-Boot on ARM. Things like cpu & mmu type...
U-Boot doesn't really help us there anyway, it only passes a few board infos (RAM banks & the bill), and optionally other stuff if we fake a linux kernel or netbsd loader, but still not enough. FDT support isn't available for ARM in U-Boot yet either. So for now, and likely for stuff we can't get from FDT, we'll put board-specific config there.
Unlike desktop machines were we want a single kernel per arch, we'd rather have the kernel built for a single board without having to handle detecting mmu type at boot and switching calls like I did on m68k.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 16:00:13 +00:00
Axel Dörfler
d4944a7ea2 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 15:38:44 +00:00
Axel Dörfler
45ed4939f9 * area_for() now also returns the area ID for kernel areas if they are
accessible to the userland - this fixes #2405 (ie. MediaPlayer overlay now
  works).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 15:04:45 +00:00
Stephan Aßmus
4ef213ddc4 Initialize the default fonts to NULL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 14:47:32 +00:00
Ingo Weinhold
102e196b93 Reenabled Firefox gcc 4 package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 14:28:58 +00:00
Ingo Weinhold
a826679822 * Only build the gcc 2 compatibility symbols with gcc 2.
* Added gcc 4 _ReservedView11() compatibility symbol.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 14:26:47 +00:00
Axel Dörfler
b7d46b7558 * Also the indirect array indices can point to a sparse point if they are 0;
this fixes problems with large files with sparse ranges (for example, Haiku
  images).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 14:23:13 +00:00
Axel Dörfler
cfd22919f2 * FileMap::Translate() did not choke on negative offsets, and _Cache() does not
necessarily return an error in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 13:05:58 +00:00
Axel Dörfler
ccee2a8b35 * "mountvolume" now can also mount by device path.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 11:09:59 +00:00
Stefano Ceccherini
d6629c3102 fixed copy/paste error which caused bug #4186. Sorry
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 11:00:35 +00:00
Stephan Aßmus
b9b5bf07db Fixed bugs when freeing the AVCodecEncoder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 10:40:06 +00:00
Stephan Aßmus
eb4b63e744 Fixed last minute change that I apparently didn't compile. Sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 10:22:52 +00:00
Stephan Aßmus
6780c24d36 Encoder:
* Fleshed out the Encoder API to support parameter setters/getters and returning
  a BView for configuration. (Not yet sure if this is a good idea.)

BMediaTrack:
* Implemented all but one of the unimplemented methods in BMediaTrack. It should
  be working as far as that class is concerned, unless I missed some of the
  vision. ReplaceFrames() remains a stub, added a comment on why it probably
  stays that way.
* Release the Encoder reference in the destructor.

FFmpeg plugin:
* Refactoring to delay opening the AVCodec until encoding the first chunk,
  so that we can still adjust parameters.
* Support adjusting parameters via [Set|Get]EncodeParameters(). Currently,
  only quality is supported, added TODOs about supporting the bit_rate setup
  versus the automatically calculated bit_rate.
* Extended EncoderDescription by a bit_rate scale. The Encoder calculates the
  raw bitrate needed by the current media format, and then divides that
  number by the specific codec's bit_rate_scale, while taking into account the
  desired quality. This seems to work very well already (tested with MPEG4),
  although a lot more parameters could be specified for libavcodec, depending
  on the desired quality.
* Enabled the ogg muxer in libavformat, although it is currently still disabled
  in MuxerTable.cpp, because it rejects unknown codecs. Added TODO to this
  effect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 10:21:36 +00:00
Stephan Aßmus
048d05a613 Small cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 10:11:06 +00:00
Stephan Aßmus
99304ab063 Do not use fWriter functions, when it has not been instantiated properly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 10:07:43 +00:00
Axel Dörfler
3471097486 * Improved the parsedate() test to produce a reliable test case (with a fixed
"now", and given expected results).
* Now only prints failures, unless you give a command argument (which just
  enables verbose output).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 09:47:20 +00:00
Stephan Aßmus
e61adaa1d4 Rene missed to remove this part when re-enabling the GCC4 package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 08:14:23 +00:00
Ingo Weinhold
af31cb589c Added comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 02:31:00 +00:00
Michael Lotz
ee280b59e9 Prevent the user TLB invalidation function from being preempted by turning off
interrupts when invoking it. The user TLB invalidation function essentially only
reads and writes back control register 3 (cr3) which holds the physical address
of the current page directory. Still a preemption between the read and the write
can cause problems when the last thread of a team dies and therefore the team
is deleted. The context switch on preemption would decrement the refcount of the
object that holds the page directory. Then the team address space is deleted
causing the context switch returning to that thread to not re-acquire a
reference to the object. At that point the page directory as set in cr3 is the
one of the previously run thread (which is fine, as all share the kernel space
mappings we need). Now when the preempted thread continues though, it would
overwrite cr3 with the physical page directory address from before the context
switch still stored in eax, therefore setting the page directory to the one of
the dying thread that now doesn't have the corresponding reference. Further
progressing the thread would release the last reference causing the deletion
of the object and freeing of the, now active again, page directory. The memory
getting overwritten (by deadbeef) now completely corrupts the page directory
causing basically any memory access to fault, in the end resulting in a
triplefault. This should fix bug #3399.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 23:15:05 +00:00
Rene Gollent
c771baca29 Re-enable Vision gcc4 package (update has been posted to haiku-files).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 22:54:54 +00:00
François Revol
f676f30b36 Remove those antique misleading leftovers, the good ones are at headers/private/kernel/boot/images.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 18:50:08 +00:00
Axel Dörfler
50d73c508f * driverinstall now also depends on "default"
* Added install target using INSTALL_DIR variable.
* Made "clean" and "rmapp" targets whitespace friendly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 16:49:06 +00:00
Axel Dörfler
1bfa269951 * Made the default tool tip color a bit easier on the eye.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 16:43:37 +00:00
Axel Dörfler
1ef6dcaceb * Added support for TARGET_DIR.
* Now uses g++ instead of gcc for C++ files.
* Removed mwcc support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 16:34:30 +00:00
Stephan Aßmus
9be5fa8055 * Added small description to all OptionalPackages at the top.
* Replaced Pe GCC4 package with one that works again after the BToolTip
  addition.
* Disabled Firefox and Vision GCC4 packages for the time being, so that one
  at least gets a working hybrid installation.
* Added Clockwerk GCC2 and GCC4 packages. I also added it to the alpha
  release build profile, so that people testing the pre-alpha images have
  more easy access to it. I am not sure if it should stay there, since it may
  not be polished enough. Feedback welcome! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 16:25:24 +00:00
Axel Dörfler
1e4b23dae2 * Added more vendor entries, thanks to Brecht again for digging up another
resource.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 14:35:10 +00:00
François Revol
f335531bbc Remove file map disk support by default, it's not used anyway, and we'll use layers for CD anyway. Doesn't spare that many bytes though...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 09:00:10 +00:00
Stephan Aßmus
def0e1edf6 Don't leak the MediaWriter instance.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 07:58:32 +00:00
Stephan Aßmus
037d052235 I have no idea how that ended up there... set the decoded audio format correctly
again. Should fix playback of any file where the ffmpeg plugin was responsible
for sound. (The symptoms were a crash into the debugger because of an unspecified
audio format...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 07:21:22 +00:00
Stephan Aßmus
b785870101 Free the AVFifoBuffer data in the destructor...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 22:59:23 +00:00
Stephan Aßmus
6e567425c6 Now supports encoded audio. Added Dolby Digital (AC-3) encoding to test this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 22:53:52 +00:00
Bruno G. Albuquerque
6ca5e0f9fa - Fix small typo.
Is it intentional that Horizontal Frequency is reported as being KHz while
Vertical Frequency is reported as being Hz?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 21:54:14 +00:00
Stephan Aßmus
0c72a8aed4 * AVWriter::StreamCookie::~StreamCookie() incorrectly freed packet data that it
didn't own.
* We are supposed to open the AVCodecContext in the writer, even though we never
  use it. According to libav-users mailing list, this is necessary, since that
  will allocate and initialize some structures that are later needed in
  av_write_header(). How this is supposed to work for encoders that libavcodec
  does not support, or which we don't know how to map, I do not yet know. For
  now it doesn't matter and resolves the problem that audio tracks report the
  wrong stream duration.
* Some more improvements with regards to what information we need to fill out
  and which we don't.
* Use more sensible defaults for the stream bitrate, so that we get better
  quality video by default. This and other parameters can be calculated when
  we implement setting the quality.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 21:32:03 +00:00