Commit Graph

37024 Commits

Author SHA1 Message Date
Stephan Aßmus b6d5916a70 Since a lot of MediaPlayer code would actually
not compile on BeOS anymore, I've removed the
BeOS versions from the rest of the source.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 09:52:20 +00:00
Stephan Aßmus 749df748eb Propagate the error from CreateBuffers() in Connected().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 09:45:07 +00:00
Scott McCreary 5722edeb67 Moved make and mkdepend to OptionalPackages, updated libtool to 2.4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-25 16:21:22 +00:00
Stephan Aßmus cc3a891e38 Only claim specific support for multi-media file types that
don't belong to the audio or video super type. All other files
should now open automatically with MediaPlayer since r38810
even without it claiming direct support for them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-25 14:50:18 +00:00
Stephan Aßmus a4b60639b1 Patch by plfiorini from ticket #4501. Untyped FLV movies
shall be auto-identified. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-25 14:47:58 +00:00
Stephan Aßmus 08ac2a4987 I don't quite understand why the preferred handler of
the super type is only regarded for "installed" MIME types.
The comment says that uninstalled MIME types are assumed
to be application MIME types, but this is clearly not always
the case. Initializing the secondary signature regardless
fixes the problem that unkown document MIME types open in
a random application, even though their super type has a
preferred handler. If the type is indeed an application
itself, I suppose no harm is done, since the primary
signature takes precedence anyway. Closes ticket #4501.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-25 14:43:25 +00:00
Siarzhuk Zharski 3b6fac7943 - yet another update of Russian locale files from Diver. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-24 20:47:35 +00:00
Stephan Aßmus 73dcf86fdc * Don't create Stream cookies for unsupported media formats.
Some test clips with sub-title tracks would hang MediaPlayer
   without this fix here.
 * Optimize FindKeyFrame() and Seek(), check the range between
   last requested/reported frame and bail out early with the
   same result. Seems to fix MediaPlayer starting to drop frames
   when it got caught up in a keyframe finding party...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-24 20:14:10 +00:00
Stephan Aßmus af0f809b75 Rewrote finding keyframes and seeking. The problem was that
in many situations, FindKeyframe() was unable to reliably
predict what frame Seek() would be able to seek to.
 * Refactored a new base class StreamBase from the old
   StreamCookie, renamed StreamCookie to just Stream.
 * In FindKeyframe(), Stream will create a "ghost" StreamBase
   instance. That one will be used to actually seek in the
   stream without modifying the AVFormatContext of the real
   Stream. From that we can tell what position we can /really/
   seek to. For AVIs mostly, it is important to still use
   av_index_search_timestamp(), since for many AVIs I tested,
   reading the next packet after seeking did not produce a
   timestamp, however the index entry contained just the correct
   one. If the next packet does contain a PTS, it will still
   override the index timestamp, though.
 * Contrary to my previous belief, there was still a locking
   problem with how MediaPlayer used the BMediaTracks. The video
   decoding thread and the playback manager both used
   FindKeyframe() without holding the same lock. We support this
   now by using one BLocker per Stream. (The source BDataIO is
   still protected by another single lock.) With the new ghost
   stream stuff, the locking problem became much more of a problem,
   previously the FindKeyframe() had a much rarer race condition
   which would only trip when the decoding thread would cause new
   index entries to be inserted into the index.
 * Use the same ByteIOContext buffer size that avformat would be
   using if it initialized the ByteIOContext through other API.
 * Don't leak the probe buffer in case of error.
 * Don't leak the ByteIOContext buffer in the end.
 * Do not discard other stream packets anymore, this makes the
   ASF demuxer happy and ASF files can now be seeked as well as
   with ffplay itself.

With these changes, all my MPEG test streams work. Some could be seeked
before, but would show bad artifacts. Some streams would completely loose
video after seeking once. My MPEG2 test stream works much better now,
although audio is slightly out of sync, unfortunately. All my test AVIs
work as good as before, MP4 and MKV still work perfectly. The single
test ASF I got is now perfectly seekable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-24 16:54:42 +00:00
Stephan Aßmus 954d70d8c0 * Renamed fAudioTempPacket to fTempPacket and use it for calling
the new video decoding function. This just avoids a warning
   generated from the libavcodec sources. The function used before
   did the exact same thing...
 * Maintain fStartTime correctly in _DecodeVideo(). Don't overwrite
   it with a calculated starttime in Decode(). This will allow drift
   to bubble up to the higher layers.
 * Do not use the previously required hack to close and reopen the
   AVCodec after seeking. avcodec_flush_buffers() seems to work
   fine now, and for certain stream types (MPEG1, MPEG2 video for
   example) the keyframe is correctly used after seeking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-24 16:40:56 +00:00
Stephan Aßmus a92abad742 In the unexpected case that an extractor seeked forward while we actually
asked to seek backwards, cause us to produce silence. This fixes some
occasionally very unpleasant noise after seeking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-24 16:35:11 +00:00
Clemens Zeidler 030345058e Handle layout items like glue correct. Update the preferred size constraint if a tab has been replaced. Fix coding style (thanks Axel).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-24 03:22:37 +00:00
Jérôme Duval 23395e2082 add ffsb (Flexible File System Benchmark) to the build (gcc4 only).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 17:55:34 +00:00
Rene Gollent c6789116b7 Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 16:11:32 +00:00
Scott McCreary 9cd45f7edf Updated autoconf to 2.68
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 14:33:11 +00:00
Axel Dörfler 9157e52c88 * Improved VolumeControl snapping based on Stippi's snapping code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 08:45:38 +00:00
Clemens Zeidler 2adb769e33 Add the possibility to unset the aspect ratio again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 08:05:45 +00:00
Clemens Zeidler 19ddd4f1cb SetDefaultBehavior is not needed since all views handled in this function have min and max size equal the pref size (despite of the status bar length, which is ok). As a result they don't grow or shrink undesirable as assumed previously. As a result also the AutoPreferredContentSize is not needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 07:57:40 +00:00
Clemens Zeidler 9576365d8f - Replace the obsolete AddArea functions by AddView functions.
- Add an additional layout approach for the Pinwheel which leads to the same result.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 07:18:49 +00:00
Clemens Zeidler 21f083af82 - Implement all Add* function of the BLayout class properly. If the Add* functions of the BLayout class are called add the item to the right upper corner of the previous area. That is at least better than ignore this functions.
- Add more convenience AddViewTo{Right, Left, Top, Bottom} functions to add a item to the sides of an existing area.
- Need to add the Jamfile hack again to include the ViewLayoutItem.h header. I thing about to add the ALMLayout.* files to the interface dir when its a little bit more matured. Then the problem will be solved. Till I made a decision or somebody tell me its a bad idea to add the ALMLayout to the official interface stuff or the ViewLayoutItem.h should be in a shared header dir I will keep this hack.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 07:16:49 +00:00
Clemens Zeidler 96e2013e70 Add inset and spacing to BALMLayout. Each Area is able to overwrite this global values and use his own inset. Add spacing and inset to the tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 00:53:33 +00:00
Clemens Zeidler 3ccba98ce3 Adjust the test apps.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 00:04:50 +00:00
Clemens Zeidler 40d939a43f - Add some checks if the Area is initialized.
- Init some more variables in the constructor.
- Rename HasSame*As to Set*As. The old one is more a question. Also add an optional factor and remove the HasSameSizeAs function which tempt the user to leak a BList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-23 00:04:08 +00:00
Clemens Zeidler a2336b86cc Round the the window move target positions, this should fix jumping windows.
Coding style.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 22:27:31 +00:00
Clemens Zeidler 9503cf19be - Don't pass a min size in the Area _Init function. The min size is updated before solving the layout so we don't have to set it in the beginning. This also simplifies the BALMLayout api.
- Header include style fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 21:53:32 +00:00
Philippe Houdoin 30c47afa79 Fix memory leak + style cleanup. Thanks Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 11:23:14 +00:00
Stephan Aßmus c1e73fbf52 Enabled any and all decoders and demuxers which are currently compiled into
FFmpeg. It's a bit sad, but this obsoletes pretty much all other decoder
and reader plugins. Some of them were built on external libraries as well
(AC3 (not part of default image anyway, since it's GPL), APE, MusePack),
so it's not really a big difference to using FFmpeg as external library.
The format matching is greatly simplified by using B_MISC_FORMAT_FAMILY
for everything but raw audio, and the actual FFmpeg CodecID as codec tag.
The downside of this is that the AVFormatReader can no longer be used with
other decoder plugins, but it would be easy to add special cases for native
decoders we wish to support. Obviously the out of the box support for file
formats and decoders has greatly increased with this change, so there has
to be a pretty good reason now for writing a "native" decoder or reader.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 11:10:51 +00:00
Philippe Houdoin 190108e9c9 Add missing allocation checks where needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 10:50:08 +00:00
Philippe Houdoin 57ce714e81 Fix visual artefact !#2 described in #6530.
Please confirm #6530 can be closed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 10:02:28 +00:00
Philippe Houdoin 54ce349f97 Fix visual artifact !#1 described in #6530.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 09:44:21 +00:00
Philippe Houdoin db2c7eeb49 Style cleanup, no functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 08:21:42 +00:00
Clemens Zeidler 8f60d419c5 Remove unused Constraint variables.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:55:15 +00:00
Clemens Zeidler eb4dd1a2a9 Clean up Area header a bit more and remove unused functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:50:51 +00:00
Clemens Zeidler 0871de7bdf Remove unsupported reverse engineering feature. Further clean up.
Also remove LayoutStyle feature because resizing the parent view might not be a good idea. If the parent view should be resized you should better but it into a BLayout too.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:29:50 +00:00
Clemens Zeidler 33c82c1e9d Compare the correct orientation and add a comment about it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:24:15 +00:00
Clemens Zeidler 06f960fcf6 Clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 05:04:36 +00:00
Clemens Zeidler a85cd05590 Adjust tests to use the SetExplicitAlignment function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 04:54:11 +00:00
Clemens Zeidler 5f15562e70 Use the AlignInFrame BLayoutItem function to do the item alignment. The child area is not needed any more.
Don't leak the fConstraints list.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-22 04:51:09 +00:00
Clemens Zeidler 3a3c1d8222 Removed unused min, max, pref variables.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:51:41 +00:00
Clemens Zeidler f5dc380d11 Fix warnings and some coding style issues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:37:31 +00:00
Clemens Zeidler 1d1e47de0c Should be part of the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:35:36 +00:00
Clemens Zeidler 8d9b6ef428 - Rename BALMLayout.* file to ALMLayout.*.
- Fix some copyrights.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:31:50 +00:00
Clemens Zeidler c87bbc398c The BButton's have a max and min size which were previously ignore by ALM. Set an expicite button size to make the tests work after the last BALMLayout changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:22:17 +00:00
Clemens Zeidler 8ec038986a BALMLayout now takes the view min, max and pref values into account. Previously it managed its own values.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 23:18:43 +00:00
Axel Dörfler 4243bc41f2 * Added support for dropped queries - the queries will be evaluated once, only
(ie. no live mode).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 20:44:16 +00:00
Axel Dörfler 24b218c5a7 * Implemented a class that can handle Tracker's query files. Only read support
for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 20:42:13 +00:00
Clemens Zeidler 14bf35a2ef Remove unneeded header path.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 20:23:31 +00:00
Stephan Aßmus 9291985ba8 * Exchange the round knob for a standard block thumb again,
albeit a smaller one. Makes the interface look even more
   standard Haiku-like.
 * Make sure the volume slider has a reasonable minimum width.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 18:37:14 +00:00
Stephan Aßmus fd5c34224c * Show the window when opening files, since that shows the nice
"opening file bla" message and makes starting MediaPlayer feel
   even more snappy.
 * Show the window at the no-video location when opening files.
 * Move the "Drop files to play" message handling into MainWin
   and make sure it shows after failed attempts to open a file
   when the playlist is still empty.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 16:04:24 +00:00
Stephan Aßmus ad471f9969 Typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 16:01:56 +00:00