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
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
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
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
* 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
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
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
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
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
* 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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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