Commit Graph

36810 Commits

Author SHA1 Message Date
Stephan Aßmus
38c4dc0eaa Small improvement in efficiency, don't invalidate the
layout when the string width did not change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 21:14:31 +00:00
Stephan Aßmus
4e57cee58b * Added DurationView, defaulting to show the time remaining to finish.
* Added DurationToString to support code, used by the PositionToolTip
   as well now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 20:59:42 +00:00
Stephan Aßmus
737186ccb0 Fix the build and remove a note that is no longer necessary
since the file has been pretty much rewritten anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 20:58:36 +00:00
Stephan Aßmus
65723d8085 Doh... should have been part of my last commit. Sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 19:52:50 +00:00
Fredrik Holmqvist
01f964efeb Introduce a gSystemShutdown flag to be able to check if system is shutting down. ACPI Embedded Controller now uses polling when it is set to true.
This might help with ACPI shutdown issues, if not this change can be reverted. Not verified as it works on all my machines even without this.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 19:19:49 +00:00
Stephan Aßmus
b000c602e3 * Reimplemented the transport buttons based on BButton.
* Reimplemented the SeekSlider and VolumeSlider based on BSlider.
 * Updated the look to fit with the rest of Haiku.
 * Switched TransportControlGroup to layout management.
 * Got rid of a whole lot of ancient cruft.
 * Fixed a bunch of display bugs in PeakView.

There is no usability change, yet, except that the controls stay
centered, and that the volume slider snaps to the middle now.

I didn't check if other targets use the removed sources, before
I do a build of an image, I wanted this in SVN. I am using another
computer and have not yet had any file corruptions so far, but I
am not trusting it completely yet... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 17:51:27 +00:00
Philippe Houdoin
33684c664b Removed swscale_altivec_templace.c, which is already conditionaly included
by swscale_templace.c, itself included by swscale.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 15:12:00 +00:00
Philippe Houdoin
f7fdea9640 Removed duplicate int_altivec.c and h264_templace_altivec.c, which as any templace
source are instead conditionally included by other source code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 15:07:16 +00:00
Philippe Houdoin
05b9aa91c6 No more imgresample_altivec.c or snow_altivec.c in ffmpeg v0.6.
Add the new vp3dsp_altivec.c, though.
Should fix the ppc build.

*Untested*


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 14:46:48 +00:00
Philippe Houdoin
80528f21d6 Fix gcc2 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 14:43:20 +00:00
Philippe Houdoin
48933a73b8 Expand glutGetProcAddress() to support core GL functions too under Haiku,
now that we do have a way to retrieve such address.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 10:41:44 +00:00
Philippe Houdoin
fafc6e4b77 Added a GetGLProcAddress() method to BGLView.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 10:01:37 +00:00
Philippe Houdoin
35c8505a33 Add an AddressOf() inline method, beside OffsetOf().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 09:32:42 +00:00
Philippe Houdoin
256571764d Mesa's glapi_getproc.c was missing...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 09:31:04 +00:00
Philippe Houdoin
2e0de40436 Style fix, as suggested by Jerôme.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 08:43:22 +00:00
Scott McCreary
d3902df608 Added Ruby and Paladin as OptionalPackages
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-08 08:01:53 +00:00
Jérôme Duval
a1b0ec3097 Patch from Janito Ferreira Filho (aka jjvf): this is the result of his GSoC assignment "Implement ext2/3 Read and Write Support for Haiku".
* Tested and checked most features and fs operations, while passing successfully the Linux fsck. Though the implementation still needs more testing and is to be used with 
caution, it's better in my mind to have the code committed now given the size of the patch.
* Code style isn't extensively checked but is mostly OK. Code review is welcome.
Some notes from Janito:
* Sparse files aren't supported and hard links aren't supported. Write attributes methods aren't activated nor tested.
* Journaling needs more testing to make sure it behaves in a compatible way to Ext3, and support for the different modes hasn't been implemented (due to the block 
and file cache incompatibility). Correct revoke management is also lacking, as is proper management of the superblock state and copies and block group copies.
* The code is partly based and inspired by the BFS implementation. Author information might need to be fixed.

I'd like to congratulate and thank Janito for his hard work to bring the implementation to the current state. I hope he'll keep on maintaining it and become a regular 
contributor/committer.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 23:25:42 +00:00
Clemens Zeidler
3ef84cd4bb Check if the mouse click is in the decorator drag area.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 21:27:13 +00:00
François Revol
a7ea5b51c6 Force grep to treat files as text files, as it seems freegrep doesn't like UTF-8.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 16:39:23 +00:00
Stephan Aßmus
c5f8afb944 First implementation at the "loop by default" settings.
To make it better, there should be a looping mode per
window, and the settings should serve only as defaults.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 14:36:32 +00:00
Stephan Aßmus
c520f2c9c9 Removed VideoNode, as it wasn't used. It's almost the same
code as the VideoNode in the TV application.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 14:18:09 +00:00
Stephan Aßmus
044dc96bce Moved TransportControlGroup into "interface" folder, as it's
a more or less generic foundation class.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 14:17:15 +00:00
Philippe Houdoin
e4d2cd5dfd Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 12:45:08 +00:00
Philippe Houdoin
df9bb1df97 Reworked, as suggested by stippi, to avoid keeping cursors instances of system ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 12:14:20 +00:00
Stephan Aßmus
fae87f406e Make CpuCapabilities.h self-contained and thereby fix the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 12:12:07 +00:00
Stephan Aßmus
86358cb106 * Hopefully fixed the PPC build.
* Fixed coding style issues.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:22:02 +00:00
Stephan Aßmus
20d496c56c ff_x264_deblock_v8_luma_intra_mmxext is GPL and needs to be wrapped
in a CONFIG_GPL #ifdef (should be upstreamed, actually). This fixes
the GCC2 build (and probably GCC4) if the Haiku build is not configured
to include GPL add-ons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:15:48 +00:00
Stephan Aßmus
5e7287f481 Enable run-time CPU detection. I didn't yet test this
on an older CPU.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:11:51 +00:00
Stephan Aßmus
6c49058008 yuv2rgb_mmx.c will now include other files depending on whether
GPL code is enabled or not. We need to build it in either case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:10:57 +00:00
Stephan Aßmus
6f76655240 Fixed build with tracing enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 11:09:48 +00:00
Stephan Aßmus
631e3dcf4b * FFmpeg is not x86-only at all. The Jamfile tries to configure
the build depending on the target architecture.
 * Add the folder for media plugins to home/config/add-ons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 10:19:35 +00:00
Philippe Houdoin
b3ac89d6a1 Fix application signature.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 08:04:00 +00:00
Philippe Houdoin
91998e8078 Change cursor to hint user an object can be dragged...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-07 07:51:26 +00:00
Stephan Aßmus
d29fcc50b8 Switched support for AVI files from native Reader to
FFmpeg plugin, which now works for much more files
in my testings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 21:23:39 +00:00
Stephan Aßmus
f2d6b67836 Disable some MMX accelerated functions on the GCC2 build, those
had been patched in the older ffmpeg version as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 21:14:22 +00:00
Stephan Aßmus
fb0c01f4d9 GCC2 was seeing the wrong "internal.h" header. That's what you get for not
using vendor branches properly... I remember having to make this change
before... GCC2 build goes much further now, investigating next problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 21:06:28 +00:00
Stephan Aßmus
818577b203 * Make PlaybackManager::CurrentFrame() return int64, like
what it's internally using. Adapt NotifyCurrentFrameChanged()
   implementors.
 * Controller::SetTo() does not need to set the current frame,
   since either Init() or FormatChanged() will have taken care
   of it now.
 * Reset the seeking request info in Controller::SetTo().
 * Changed the parameter passed to VideoSupplier::FillBuffer()
   from media_format to media_raw_video_format, so the
   VideoProducer doesn't have to generate a media_format for
   each frame...
 * ProxyVideoSupplier caches the last produced frame, which
   avoids a situation that the VideoProducer asks to generate
   the same frame twice sometimes.
 * In PlaybackManager::_PushState(), make sure we really
   schedule the next current_frame if asked. This avoids
   one situation in which the VideoSupplier was asked to generate
   the same frame again and fixes playback after pausing (was
   showing black video until the next keyframe before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 19:27:25 +00:00
Jérôme Duval
d859486b15 Only swap words on little endian machines. Checked against FreeBSD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 19:24:02 +00:00
Stephan Aßmus
959a162c91 Always call PlaybackManager::Init() in FormatChanged(). This makes
sure we don't deal with stale PlayingState and other outdated data
when the Controller initializes to a new file, but does not need
to teardown the old and setup new media nodes. Fixes ticket #3855.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 19:09:16 +00:00
Stephan Aßmus
bc76e66a1d ERROR->TRACE for LateNoticeReceived()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 19:06:46 +00:00
Stephan Aßmus
f8d26f5c5f Don't delete a BToolTip directly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 19:06:18 +00:00
Stephan Aßmus
8887a47ded Upgraded FFmpeg to the release version 0.6 (only some minor compile fixes to the code
with regards to using the wrong #include scope in one file and disabling two
apparently unmaintained asserts when compiling in DEBUG mode). I didn't yet test
the GCC 2 build, but I need to get this into SVN since I am having some annoying
file corruption troubles. In fact I am hoping I am not commiting broken files,
but a few seconds ago everything was still building cleanly. One thing that definitely
improved is the (disabled at the moment) AVI support. Every clip I tested so far
plays, which can't be said about our native AVI reader. With the previous FFmpeg
version (a random SVN revision is my guess), many old AVIs played completely broken.
So far, I have not spotted any regressions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 19:01:50 +00:00
Jérôme Duval
995b475caf Patch from dachaac (bug #4813): Fix ATA vendor and product strings according to ATA string conventions. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 18:53:47 +00:00
Stephan Aßmus
af4608b687 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 18:45:48 +00:00
Stephan Aßmus
1fc294b86a * Do not use an I/O buffer which is allocated with a StreamCookie
object. Demuxers may actually resize the I/O context buffer,
   which would corrupt memory. This is certainly the case in FFmpeg
   0.6, don't know if it was a problem before.
 * Do not set the time to the packet PTS in Seek(), if it's the magic
   value for "no PTS".
 * Don't regard the AVInputFormat flags (generic index), we can detect
   this more reliably by the observed behavior: Don't trust the found
   keyframe if we are obvioulsy building the keyframe index on the fly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 18:45:05 +00:00
Stephan Aßmus
b8b74f90f4 Resolved TODO. The current time should point to
the beginning of the next buffer. GetNextChunk()
still has the same problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 18:13:58 +00:00
Philippe Houdoin
faff258d9a Use system grab/grabbing cursors.
Fix #6549.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 15:02:38 +00:00
Stephan Aßmus
dec32162b5 One should be suspicious when subtracting "samples"
from "frames". LateNoticeReceived() would have skipped
two many buffers depending on the channel count.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 10:41:05 +00:00
Stephan Aßmus
9abb7d4713 Remove the Matroska reader from the image and enable
Matroska support in the FFmpeg plugin. I have a few streams
to test with, most didn't play right with the Matroska reader,
many simply crash. With the FFmpeg matroska support, most files
do play fine. Seeking the audio stream is a problem, in that
the FFmpeg code does not build the index for the audio stream,
and so seeking always falls back to regions of the file that
have already played. The audio will catch up eventually and
playback will be fine again. A minority of files I could test
with don't work right, those seem all to be older files.
Overall, the support for Matroska files has much improved
with this commit. I am still investigating why FFplay has
no trouble seeking in mkv files, while the FFmpeg plugin only
seeks perfectly in video streams. It may be a problem that
the FFmpeg plugin uses completely separate AVFormatContexts
for each stream, which on the other hand allows to seek BMediaTracks
independently from each other and resolves concurrency issues.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 09:50:24 +00:00
Stephan Aßmus
11c015d896 -1 is a valid index for the current playlist item index
in the Playlist code, but we don't want to get to this
index from the GUI. Handle truncation of the index in
the ControllerView. This solves invalid button state
when using the keyboard to skip to the previous item
when the current item was already the first item.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-06 09:21:12 +00:00