Commit Graph

30544 Commits

Author SHA1 Message Date
Michael Lotz
d7a16b238f * Fully switch to the Haiku message format so that it is also used for on-disk
storage.
* Remove reduntant information from the header (field_count vs. fields_size).
* Remove checksums previously used to validate the message passing by area
  mechanism.
* Move variables that are purely used by the instance out of the header and into
  the BMessage object.
* Use more sensible types for the different message fields.
* Reduce some field sizes to realistic values.
* Make size_t values into uint32 values so the message format will not change
  when later moving to 64 bits.
* Pack the structures used for flat message storage so it doesn't change
  because of padding.
* Fix message passing by area. It never worked because the created area was
  never actually filled with any data!
* Some more allocation checks with graceful fallbacks (should be all now).
* Some more checks for negative index values (should also be all now).
* Make printing more inline with how the rest of the class works and make some
  of the output more consistent.
* Also add the new unsigned types to PrintToStream() output.
* Fix printing of unknown types and invalid BMessages, it would always have
  printed only the first entry respectively the same error.
* Added some clarifying comments.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:19:36 +00:00
Rene Gollent
2252911973 Add missing definition for wcsstr. This was preventing clucene from building with wide chars enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:16:58 +00:00
Stephan Aßmus
7a97958b0b This should fix the GCC 4 build. The avformat code expects a non-const buffer
for the write() hook.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:12:03 +00:00
Axel Dörfler
a717876d04 * Added some more vendor names, taken from the syslog data in our bug
tracker :-)
* Improved monitor name, based on that data as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 21:29:40 +00:00
Axel Dörfler
e90b90daf6 * Added desperately missing Trim() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 21:13:19 +00:00
Axel Dörfler
8bf23e3caa * Made MonitorView better utilize the space it has.
* Less flickering.
* Reduced spacing in the left box.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 20:04:46 +00:00
Axel Dörfler
66ab166689 * Added a max resolution to MonitorView that can be chosen to define when it
should fill its space completely (which is now the maximal resolution that
  can be chosen).
* Improved monitor info in case there is no name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 18:47:44 +00:00
Axel Dörfler
ed8a411691 * Removed the questionable "found" stuff from GetMonitorInfo(); even if there
is no model name, the info is still useful (this also affects saving by
  monitor).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 18:46:13 +00:00
Rene Gollent
16dac19ef7 gcc4 build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 17:57:32 +00:00
Axel Dörfler
12966d04e9 * Now shows some info about the monitor if detected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 17:36:45 +00:00
Alexandre Deckner
42158ac76f * Typo :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 16:15:41 +00:00
Ingo Weinhold
cc77aba101 * Allocate a separate double fault stack for each CPU.
* Added x86_double_fault_get_cpu(), a save way to get the CPU index when in
  the double fault handler. smp_get_current_cpu() requires at least a somewhat
  intact thread structure, so we rather want to avoid it when handling a double
  fault. There are a lot more of those dependencies in the KDL entry code.
  Working on it...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 16:14:18 +00:00
Alexandre Deckner
bee3c7a915 * New demo showing an OpenGL animated Haiku logo. Could be a good base for
future 3d demos i have in mind and the missing ones (ie: 3dmov and 3dmix).
 Makes for a nice Haiku sample code too, without legacy.
 Not in the image yet, waiting for the green light. Enjoy!

 ps: Will commit the Blender object files and export script later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 15:38:12 +00:00
Axel Dörfler
9c1f8bf0c7 * Reverted r32012 which reopens #4127 - the fix causes strange behaviour with
CL-Amp which is a bit worse than seeing TrackerStatus in the Deskbar. Will
  search for a proper solution later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 15:34:04 +00:00
Stephan Aßmus
4384acf6c1 * Tweaked the Writer API. Basically, we need an Init() method that takes the
media_file_format as input, so that the Writer knows what kind of file is
  needed.
* Also, since information about the stream format is going to be needed at the
  Writer level as well, the AllocateCookie() method gets the stream
  media_format.
* Fleshed out some aspects of AVFormatWriter, many TODOs are left.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 15:29:08 +00:00
Stephan Aßmus
f9acacb7d1 Enabled a couple encoders and muxers, included files in build which we need
for that...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 15:25:57 +00:00
Axel Dörfler
8f30149c06 * Work-in-progress commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 15:16:11 +00:00
Axel Dörfler
249efd04b3 * Fixed basic layout issues, and therefore bug #4138. This panel needs a serious
usability redesign, though, so I didn't bother letting it use the layout
  engine for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 14:30:15 +00:00
Axel Dörfler
61b6f38cfc * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 14:11:12 +00:00
Axel Dörfler
3bde1f121a * If the VESA accelerant has EDID information, it will now also pass it to
create_display_modes().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 14:07:19 +00:00
Axel Dörfler
7badc72cf1 * Missing EDID video modes are now added from the base mode list, resolving
a TODO.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 14:05:27 +00:00
Stephan Aßmus
2e9d65abf5 Implemented static Write and Seek hooks to be passed to libavformat...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 13:49:11 +00:00
Axel Dörfler
55c3b5f1d5 * If the copyright says to include the full list, we better do, even if our
license is basically the same thing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 13:15:06 +00:00
Stephan Aßmus
313fedacc1 * Let the Encoders use the media_codec_info.sub_id field for their own purposes.
* Implemented some of AVCodecEncoder. Maybe video encoding already works, but
  we don't know until the AVFormatWriter is more than just stubs... but I doubt
  it. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 13:06:34 +00:00
Stephan Aßmus
3ae83fe3c7 * Automatic whitespace cleanup.
* media_decode_info member was never used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 13:04:14 +00:00
Axel Dörfler
c6906c2832 * In FFM mode, when a window was closed, or the workspace was changed, the
window under the mouse was given focus. This makes using FFM with the keyboard
  alone very inconvenient to use, which is why now the window that previously
  had focus will regain it instead; as soon as you actually move the mouse, the
  focus is changed as usual.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 11:58:59 +00:00
Stephan Aßmus
fa770e4c84 * Writer::WriteChunk() takes media_encode_info* instead of flags.
* Improved Encoder API towards what we need for the get_next_encoder() variants
  and the BMediaTrack API.
* Implemented the rest of MediaWriter. Still undecided what to make of
  AddTrackInfo(). BMediaEncoder has that as well, which hints that this is
  something the Encoder needs to support. But it could also be that this is
  only possible to support in Writer.
* Wired a lot of previously unimplemented methods in BMediaFile and BMediaTrack
  needed for write support. If I have not overlooked anything, only the
  parameter stuff is still unimplemented now.

This is all untested, since the FFMpeg Encoder and Writer are still only stubs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 10:46:58 +00:00
Axel Dörfler
23046a3935 * No longer maintain the Window::fMinimize member for hidden windows; this seems
to be what happens in BeOS, at least, and fixes bug #4127.
* Hopefully diver will also find any negative consequences of this change :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 10:43:47 +00:00
Fredrik Modeen
1d4673660f This fixes when I try to makebootable after building Haiku from Zeta.
I don't get "Error: Specifying directories not supported on this platform!" now.
Also includes some added \n.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 10:13:37 +00:00
Axel Dörfler
74b19566ee Turned off mouse wheel support in BTabView to switch the tabs. I think that
functionality like this is mostly annoying with little use to be honest, but
other opinions are welcome, of course :-)

It reminds me too much about the insane workspace switching via the mouse
wheel in Ubuntu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 01:24:21 +00:00
Ingo Weinhold
7f1bf82c6e We need full update on resize.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 01:21:49 +00:00
Stephan Aßmus
cc1730f4d6 Do not reject an encoder based on the media_format_family if either the encoders
or the given media_file_format family's is B_ANY_FORMAT_FAMILY.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 01:02:48 +00:00
Stephan Aßmus
6033e52a83 Implemented support for get_next_encoder() variations from MediaFormats.h.
The AddOnManager in the media_server registers one encoder entry per
successful EncoderPlugin::RegisterNextEncoder(). This gives us a first idea
what media_format_family and input/output media_type is supported. The
mechanism may have to be extended, or the Encoder needs an API to specialize
a format further. In that case, the get_next_encoder() version that takes
optional _acceptedInput/OutputFormat needs to instantiate the plugin and
needs to ask the Encoder. But AFAIK, no app uses it like that anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 00:46:36 +00:00
Axel Dörfler
061d2ed1a2 * Creating a symlink now fails with B_NOT_SUPPORTED instead of
B_READ_ONLY_DEVICE if it has a write hook.
* This fixes bug #4141.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 00:40:52 +00:00
Rene Gollent
33e0d2e413 Also remove no longer needed variable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 23:26:36 +00:00
Rene Gollent
5171d87a62 Removed stray debug printf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 23:26:09 +00:00
Axel Dörfler
c32499b4f7 * Since the file_map reports its chunk with a file system specific alignment, we
cannot assume that the file is that long - we need to check for the actual
  file size specifically, and then clear the extraneous bytes based on that one.
* This fixes seeing old file left-overs in the space beyond the file size in
  mmapped file. Thanks to Oliver who provided me with a nice test program to
  reproduce this problem (this should also fix gcc's fix_includes app (although
  I wonder what it does if a file actually ends on a page boundary).
* Also fixed a bug in precaching that would cause the last page of the cache
  to be discarded, causing it to be re-read later on.
* Moved partial page clearing into its own function
  read_pages_and_clear_partial(), even though it's currently only used once.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 23:12:12 +00:00
Stephan Aßmus
377e95304a * This header couldn't actually be used from C code, since C doesn't support
overloading functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 22:10:11 +00:00
Ingo Weinhold
ce50cdc3ed When recovering a tracing buffer from a previous session we do now check the
tracing buffer entry list at least. Eventually we should check the entries
themselves, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 22:00:16 +00:00
Stephan Aßmus
ac13d1a272 * Style cleanup
* Check allocations and report error in case any fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 21:28:00 +00:00
Stephan Aßmus
d8181502ef Style cleanup, switched "* " style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 21:02:56 +00:00
Stephan Aßmus
435924897f Hack to automatically deinterlace video, this needs to be improved later on,
but is better than before in any case. The deinterlacing is nothing fancy,
basically, it just drops the first field... the implementation to use this
is also not as efficient as it could be, it currently allocates a temporary
frame always...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 20:49:04 +00:00
Stephan Aßmus
eeb4be0c7f Hack for interlaced video. We cannot know if video is interlaced from the
current libavformat API. FFmpeg is a little inconsistent in this regard. For
interlaced video, it will report a frame rate which is the field rate, but
still decode both fields into a single frame. For the time being, we reduce
the frame rate from 50.0 to 25.0 and handle interlaced video transparently
for the clients. This needs to be fixed later on...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 20:47:05 +00:00
Stephan Aßmus
0876f8d08e Stubbed out implementation of an Encoder and EncoderPlugin. This will probably
need to work differently, such that supported media_formats come into play,
I will know soon when I implement some of the stuff from MediaFormats.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 20:42:26 +00:00
Stephan Aßmus
7cd2513b82 Changed the way Encoders are published by EncoderPlugins. Encoder retrieval
in PluginManager is reenabled. We use the media_codec_info.id to reference
a specific plugin, while the sub_id will be used to reference individual
Encoders that the plugin supports. No idea if that's how it was intented, but
some comments hint in this direction. I failed to mention this before, but
comments are of course very welcome on any of these commits, as always.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 20:05:11 +00:00
Clemens Zeidler
0814569216 Aside from I locked the wrong (base) class. The problem was more that the driver interface was deleted to early.
Using a Referenceable seems to fix it now.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 20:01:53 +00:00
Ingo Weinhold
3fccf0679f C++ified the code. Introduced new trace entry flags, which will eventually be
used to mark entries after recovering a tracing log from a previous session.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 19:50:50 +00:00
Clemens Zeidler
8b24b02f06 Center the ExtendedInfoWindow on the screen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 18:28:29 +00:00
Stephan Aßmus
a072a79b65 Removed left-over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 17:59:03 +00:00
Stephan Aßmus
a07b059b16 Implemented first version of MediaWriter, which is the bridge between
BMediaFile/BMediaTrack and Writer plugins.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 17:56:01 +00:00