Commit Graph

37035 Commits

Author SHA1 Message Date
Stephan Aßmus
4ad39ed76d * Improve clarity of some code.
* Preserve transparency of default color when color
   changes via tag.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-27 09:43:55 +00:00
Rene Gollent
f6d6a61645 Work around gcc2 limitation to fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 22:13:25 +00:00
Stephan Aßmus
ed74106bcb * Added more comments to the code.
* Cleanup ParseStates in case the input didn't have
   all closing tags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 20:32:38 +00:00
Stephan Aßmus
676c1e9694 Let client applications set a DrawingMode() which will be the
default drawing mode for text rendering. Don't override it
with B_OP_COPY (still the default). Should not have any
consequences in any existing use-case. The MediaPlayer can
use BTextViews to render semi-transparent subtitles this way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 20:25:57 +00:00
Stephan Aßmus
25fb0e67fd Added SubtitleBitmap class which can create a transparent
BBitmap from a subtitle line as found in SRT files. It
supports all tags except positioning (should probably be
handled in upper layers anyway). The parsing is simplistic
but should be robust. The layout of text is handled by an
offsreen BTextView. VideoView can be given a subtitle
string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 20:24:04 +00:00
Stephan Aßmus
dce7934b8d Added support for one more non video/audio MIME type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 20:21:28 +00:00
Scott McCreary
36f8666256 Removed make and mkdepend source files, and removed them from the Jamfile. These are now available as OptionalPackages grouped in DevelopmentBase
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 17:02:16 +00:00
Matt Madia
0a53d94bd5 Introduced a new variable HAIKU_CATALOGS_OBJECT_DIR. The catkeys and catalogs
are stored in signature-based subdirectories. This improves upon r37871 and
should allow BOM to properly harvest catkeys for online translation tools.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 16:55:06 +00:00
Scott McCreary
842b416b9b Update netsurf to 2.6, added libmng as a dependency for netsurf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 16:26:55 +00:00
Matt Madia
413a591c78 80-char clean up. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 16:21:14 +00:00
Stephan Aßmus
a58469f56e Allow to set the false bold width in BTextView style runs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 12:49:57 +00:00
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