Commit Graph

8560 Commits

Author SHA1 Message Date
Jérôme Duval
a55c611fae added B_DISK_SYSTEM_SUPPORTS_WRITING flag on ext2 disk system, this is required to have mount_server ask whether mounting should be done readwrite or readonly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-24 09:50:53 +00:00
Jérôme Duval
7babd0d5ea added large files feature support
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-24 09:13:47 +00:00
Bryce Groff
2f3ce2bf7e DriveSetup:
- File system is now only displayed when the partition actually has a filesystem.
- Now checks if the DiskSystem supports initializing.
- Updated the *ParamsPanels, as well as, the Disk System add-ons to use the new storage api changes (see below).

Storage Kit:
- Simplified the parameters editor system. Now all parameter editor requests go through a single function, GetParameterEditor, and pass a B_PARAMETER_EDITOR_TYPE to request a particular parameter editor.
- Moved DiskDeviceAddOnManager.h to the headers directory, as it is now required by InitParamsPanel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-24 03:39:19 +00:00
Matt Madia
8970db2138 As DoCatalogs requires a signature, updated this invocation to use the MIME
signature of x-be-bitmap.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 23:35:08 +00:00
Colin Günther
560626ba87 Cody style fixes. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 20:28:38 +00:00
Colin Günther
7965271acd * Removing superflous Makefile.
* Modify driver source to allow correct interrupt processing.
* Add glue file to make driver load in Haiku.
* Update build files accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 20:24:02 +00:00
Colin Günther
974d4226ff Copy the ralink 2860 source code into place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 20:13:39 +00:00
Adrien Destugues
6389df937b * Bring back the fallback video mode selection in case both tries to read EDID info failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 20:05:24 +00:00
Jérôme Duval
01929b0c94 added a mapping for 0x83 to BTRFS
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 15:19:58 +00:00
Jérôme Duval
f3e3bd7bec added missing preallocate hook to the ntfs kernel interface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 13:31:52 +00:00
Jérôme Duval
ebfedcc353 auich: fixes an infinite loop when checking a negative value on an unsigned variable
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 11:45:34 +00:00
Jérôme Duval
a845ef7bcd avoid an infinite loop with the variable loop i
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-23 10:06:38 +00:00
Stephan Aßmus
657983b8c2 * Introduce some currently disabled code to store the AVCodecContext
pointer in the media_format user data section.
 * In the AVCodecEncoder, optionally use the AVCodecContext pointer
   from the AVFormatWriter instead of its own instance. The problems
   I am investigating are not improved by this, but it may be needed
   anyway.
 * Map the bitrate for audio to a fixed table. Certain encoders will
   refuse to use a non-standard bitrate, like the currently enabled
   AC-3 encoder.
 * Fixed tracing output in _EncodeAudio().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-21 10:29:20 +00:00
Philippe Houdoin
672b4d7800 Give a better name than the default "user thread" to Shortcuts's
input_server filter BLoopers, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-21 09:00:07 +00:00
Stephan Aßmus
bb188e4d73 Fix crash introduced as a last minute change... need to
find a way to do this properly, though. The pixel format
selected by AVCodecEncoder should match here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-20 22:01:24 +00:00
Jérôme Duval
db1b905e37 ext3 inodes whose size is at least 256 bytes can also contain attributes (like smalldata for bfs).
We now use the Attribute class from bfs (instead of AttributeIterator) to manage small data and block attributes, though it's still readonly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-20 21:40:35 +00:00
Stephan Aßmus
69372b5545 * Change the signature of the Writer plugins setup methods such
that they can modify the media_format passed in. For example they
   can store information in the user_data section. I don't actually
   use this anymore, but it may come in handy again.

AVFormatWriter:
 * Adjust the AVCodecContext flags not only for video, but also
   for audio streams (as the API example does). This mechanism
   may not yet work, since the AVCodecEncoder actually uses a
   different AVCodecContext instance.
 * Use the encodeInfo->flags and specify the key frame flag
   for the AVPacket. This finally makes videos encoded on Haiku
   seekable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-20 21:36:23 +00:00
Stephan Aßmus
6e544b050e Enable the MJPEG encoder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-20 21:29:16 +00:00
Stephan Aßmus
7d5bc29832 * Removed a big chunk of dead or outdated code. It was really
hard to see the big picture and tell what actually works
   in the higher levels of the code.
 * Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-20 21:28:18 +00:00
Stephan Aßmus
88eddd3d71 * Specify length of Group of Pictures as in API example.
* Don't hardcode PIX_FMT_YUV420P, but use the color space
   from the list of codec supported ones which has the best
   quality.
 * Maintain media_encode_info->flags by specifying whether
   a chunk contains a keyframe. According to the libavformat
   API example, all audio chunks are keyframes. For video
   chunks, use the fContext->coded_frame->key_frame flag.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-20 21:25:43 +00:00
Jérôme Duval
d63f4274b6 added a file system call preallocate() as described in #6285, currently unused
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-18 18:48:54 +00:00
Clemens Zeidler
934c820ce8 Include resize area for S&T operations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-18 16:08:46 +00:00
Clemens Zeidler
07a8c14656 Only allow stacking if the candidate window is dragged using the window tab.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-18 15:49:14 +00:00
Clemens Zeidler
007179caca Use the mouse x position and the candidate tab top when searching for a stacking parent. I think this makes the stacking detection more intuitive.
The candidate window is the dragged window and the parent window is the window that accept the SAT operation.
  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-18 15:40:44 +00:00
Stephan Aßmus
dc8dd201f8 * Replaced %Ld with %lld in printf output
* Prettify layout of final stats output of checkfs
   based on patch by engleek from ticket #4277.
 * Fixed minor coding style violation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-18 09:34:36 +00:00
Jérôme Duval
71bfbb7112 added some logs in case of errors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-17 22:12:30 +00:00
Bryce Groff
9494bb5b15 - Adds parameters column to DriveSetup.
- Parse and display "active" parameter. Fixes ticket: #4417
- Removes const declaration in PartitionMap::Check.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-17 09:41:36 +00:00
Michael Pfeiffer
5a695bce10 * Use layout API in libprint dialogs.
* Use layout API in preview printer add-on.
* Use layout API in some dialogs in PDF Writer.
* Removed unused class PrinterSetupWindow from PDF Writer.
* Improved layout in print_server configuration dialog.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-16 19:56:34 +00:00
Philippe Houdoin
a009356a78 Update the comment after the timeout change in r38982.
Spotted by axeld, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-16 19:21:56 +00:00
Philippe Houdoin
51ff3ec972 Increase request timeout so that slow (read old USB 1.0Ã) devices got enough time to
startup before being able to reply initial configuration request.
This fix #6173.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-16 10:50:57 +00:00
Philippe Houdoin
360208fb1f Fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-16 08:34:29 +00:00
Stephan Aßmus
eca9668a4a Enable DV format (muxer) and DV encoder. It works, but only for
certain video sizes (720x576 for example) and with 48 kHz raw
audio. Clockwerk actually uses a mechanism which worked on BeOS
to check if an encoder would accept a certain media_format, but
this does not yet work on Haiku and thus the format is available
even when trying to render later will fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-15 15:27:16 +00:00
Stephan Aßmus
fb39b6c84d Enable compilation of some files necessary for FLAC and AAC encoding.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-15 15:23:49 +00:00
Stephan Aßmus
c0803bc585 My "fix" to the MPEG4 encoder was wrong. The h263 encoder had to
be enabled in config.h. That's the case now, but I did this change
later and didn't realize it would fix MPEG4 encoding.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-15 15:17:32 +00:00
Stephan Aßmus
ec3e003296 * Refactored calculating the bitrate based on raw bitrate
and quality in audio and video AVCodecContext setup code
   paths.
 * Disabled some debug output


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-15 15:12:25 +00:00
Stephan Aßmus
7c143ae93e Long overdue coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-15 15:04:24 +00:00
Bryce Groff
7813cb23eb - Truncate the previous partition if the current partition's offset lies within the previous partitions area.
- Fixed spelling mistake.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-15 07:24:16 +00:00
Jérôme Duval
950f37b206 * renamed bfs_inode::ToUsecs() to bfs_inode::ToNsecs, as it really converts to nanoseconds.
* added a comment explaining the nanoseconds conversion


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-13 18:49:03 +00:00
Jérôme Duval
6bfb10d312 * added support for extra inode attributes in volumes with an inodesize of 256 or more:
this brings nanoseconds for access, change and modification times, and also brings creation time.
* switched off some debug output
* HTreeEntryIterator: fCount can equal fLimit.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-13 17:17:45 +00:00
Scott McCreary
8f0c2a388c Removed definitions for O_BINARY and O_TEXT, and patched the few files that used them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-13 06:26:53 +00:00
Jérôme Duval
de66992b72 * added support for huge_file feature, untested (need a >2TB file)
* actually checks for readonly features if mounting read-write  
* don't use a journal when mounting readonly
* DataStream::_BlocksNeeded(): in case of double or triple indirects,
compute the additional blocks needed using the difference between the
old and new indirects blocks. This was resulting in a bad NumBlocks on an inode
* BitmapBlock: mark methods missed an iteration when the startingBit was zero.
Some blocks were then allocated two times (at most 32 for each allocation run).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-11 19:58:46 +00:00
Michael Pfeiffer
08af89feda * The add-on additionally to the print_server gets loaded by printer
add-ons too. The USBPrinterRoster thread has to be stopped before
  the transport add-on gets unloaded.
  This fixes the bug described in ticket #6008 that a page gets printed
  again and again.
* Added comment that the add-on might access a deleted object if the printer
  get disconnected during printing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-10 09:09:51 +00:00
Clemens Zeidler
975a7dd89d Make the stacked tab length a bit bigger and only cut the string at the end if the tab becomes small.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-09 20:57:15 +00:00
Clemens Zeidler
c26897652c Use the static linprog lib.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-04 20:18:45 +00:00
Axel Dörfler
ec4fb0f4f0 * Fixed a bug in get_interface() that would return the first interface
without acquiring a reference to it, and thus led to bug #6565.
* Added a commented out function that dumps all current reference counts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-01 06:52:18 +00:00
Stephan Aßmus
41457111ec * Try harder to seek somewhere and fall back to seeking
to the beginning of the stream by bytes, if all else
   fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 15:20:12 +00:00
Stephan Aßmus
06d9236554 Enable H263 encoders.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 15:18:30 +00:00
Stephan Aßmus
96590b5bf7 * Do no manually allocate the buffer for the
ByteIOContext. libavformat may reallocate it
   on demand, we need to use the matching allocation
   methods.
 * Init the ByteIOContext with the proper "write flag".
   This solves a busy loop when writing the trailer of
   MKV files, since the first buffer was initially skipped
   and the MKV muxer can not seek back in the stream
   where it wants.
 * Get rid of the fCalculatePTS member, and calculate
   PTS of audio packets as well. I don't remember why
   I prevented that, however VLC complains about audio
   packets having wrong PTS (with or without this change)
   Our own MediaPlayer plays videos generated by (a modified)
   Clockwerk at least once, but seeking subsequently fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 15:17:35 +00:00
Stephan Aßmus
8218710526 Do not write an audio packet if the encoder has not produced
any encoded data yet. Fixes encoding of Vorbis audio.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 15:11:28 +00:00
Axel Dörfler
77b833b87e * Convert the CD-Text contents to UTF-8 (always assumes ISO-8859-1 for now).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 10:33:04 +00:00
Stephan Aßmus
8be096e0f7 Fix codec initialization. The mpeg4 and h263 codecs were split,
and there is also ituh263enc.c, of which I am unsure how it
fits into the picture. However the mpeg4 encoder is using a "RL"
table of the h263 encoder, and it appears it was forgotten to
make sure it's initialized when splitting these files. Should
be upstreamed. Fixes a crash when trying to use the MPEG4 encoder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 10:07:14 +00:00
Philippe Houdoin
4cc17e8c78 Do the same for the JobSetupWindow and PrinterSetupWindow's Go()
methods too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 09:54:22 +00:00
Philippe Houdoin
fd7d3a7d40 Cache the result value because after Quit() fResult member is no more available.
Should fix #6675.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 09:48:09 +00:00
Axel Dörfler
24fb5ed32c * Initializing "id", and "track" to zero in r37310 caused a bug in read_cdtext()
to be revealed, as both variables were not supposed to change between calls
  to parse_pack_data(). This could cause an invalidation of the CD-text data,
  as well as an endless loop.
* Disabled (and improved) some more debug output.
* Added a short description to parse_pack_data().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-29 09:47:36 +00:00
Stephan Aßmus
47e9b53fe4 Fix some coding style violations (case scope blocks get their
opening parenthesis on a new line & 80 chars/line limit).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-28 17:32:20 +00:00
Stephan Aßmus
395346c411 Patch by Matthias: The residue field is not maintained
correctly by all USB devices, so calculate it instead.
Gets some USB disk devices working like the SuperTOP.
MacOS X is doing the same thing, as researched by Jérôme.
Closes ticket #6604. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-28 17:30:15 +00:00
Philippe Houdoin
af3b61f013 Fixed a copy&paste typo in trace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-28 14:03:11 +00:00
Axel Dörfler
5c76afb025 * We need to ignore the result of update_capacity() in cd_init_device(), or else
one cannot open the device anymore if no media is present - this did also let
  the disk device manager ignore CD-ROMs in case there was no media present
  during boot. This fixes bug #6130.
* Disabled debug output again.
* Fixed missing newline in debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-27 17:16:46 +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
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
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
Stephan Aßmus
d62aaeb68d * Changed pretty extractor names to sentence casing.
* Enabled SWF demuxer in FFmpeg (though the one test file
   I have is compressed, which is not supported by the FFmpeg
   SWF demuxer...).
 * Removed testing TODOs for demuxers that I tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-21 16:00:50 +00:00
Stephan Aßmus
5051e989f6 Committed more than I intended to in the last commit. Sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 19:05:06 +00:00
Stephan Aßmus
b145959bdd * Use the same GCC flags for GCC4 that configure in the FFmpeg source
itself generates.
 * For GCC2, FFmpeg uses -fPIC instead of -DPIC. Also disable SSE for
   GCC2, since that fixes a crash in the SSE version of clear_block().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 19:03:03 +00:00
Stephan Aßmus
d3aadcff6c In FFmpeg SVN r22715 (I suppose), there was an optimization done to
speed up VLC table (whatever it is) initialization. Somehow the code
does not work on GCC2. Use the old code we had previously in SVN
minus a flag (INIT_VLC_USE_STATIC) which is no longer used in FFmpeg.
This fixes the GCC2 build of FFmpeg and closes Ã#6643, #6582 and #656.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 18:24:31 +00:00
Stephan Aßmus
e111b1c12f For GCC2, the FFmpeg configure script is generating a slightly
different config.h, of which I am adapting the differences in this
commit. Does not change a thing for the broken GCC2 build of FFmpeg.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 18:01:22 +00:00
Jérôme Duval
cceb9427a8 Updated iprowifi4965 based on iwn FreeBSD 8.1.0 with the following changes:
* added more firmware to be used by the driver and updated the old one.
* avoid the switch to using ICT interrupt mode (dunno what it implies on Haiku)
* commented ieee80211_ratectl_*() calls. They can be uncommented when we support them.
* added ieee80211_ratectl.h with functions commented out
Switch to using ICT interrupt mode


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 23:18:06 +00:00
Jérôme Duval
64bf10e2aa added several firmwares for the iprowifi4965 driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 22:02:21 +00:00
Clemens Zeidler
7306ba0448 Watch the window look and remove a window from a S&T group if the look changed to B_NO_BORDER_WINDOW_LOOK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 21:46:42 +00:00
Clemens Zeidler
3ae8f84c3d Better check if the area exist.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 21:41:53 +00:00
Clemens Zeidler
e0c538ed7d A decorator can change during the lifetime of a window so get a fresh decorator every time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 21:08:47 +00:00
Clemens Zeidler
a4dab27fab Fix crash #6615 and #6566.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 20:54:06 +00:00
Clemens Zeidler
cc4f4ca5f8 Don't try to split a group if there is still a window stacked in a WindowArea.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 20:25:29 +00:00
Clemens Zeidler
6f4b6e915b Also change it in S&T.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 20:24:19 +00:00
Matt Madia
d0e8dc2469 Applied patch (with minor edits) by lukove. Adds device id's for
"GMA_X4500_VGA" to intel_extreme. Fixes #6641. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-19 18:43:21 +00:00
Stephan Aßmus
6df16a01ed * Seeking by bytes works mostly correctly now. In some
mpgs, the video does not recover, though.
 * Remember the last reported keyframe information, so we
   avoid rounding artifacts. Not as effective, since we
   cannot use stream time-base for seeking, but have to use
   it for finding the keyframes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 15:11:50 +00:00
Stephan Aßmus
2e54e93fbf Finall changed the Seek() method of Decoder plug-ins to
SeekedTo(), since it's only informative to decoders. They
can't modify the seeked frame/time. This also mirrors what
all existing decoders were doing in Seek(). BMediaTrack
is simplified accordingly (resolved two TODOs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 14:44:22 +00:00
Fredrik Holmqvist
1f2f3e8c8f Fix for gcc2 hopefully, only have gcc4 here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 10:07:08 +00:00
Fredrik Holmqvist
8f29d08eba Perhaps telling ACPI that we are in PIC mode might temporarily remedy a few of the irq-related issues.
(This is just until we do proper irq-handling)

On my machines it works either way so I'd like to get feedback on this.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-18 08:58:58 +00:00
Rene Gollent
4f9892e0f8 Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 18:21:54 +00:00
Stephan Aßmus
3c0f00c5ec * Theoretically implemented seeking by bytes,
if the input format requires it. Practically,
   it does not work.
 * Implement the new meta-data API.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 08:06:55 +00:00
Clemens Zeidler
d256161aec Calculate a better size limit in a stacking group.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 05:46:13 +00:00
Clemens Zeidler
dcbc4af5d1 - Add size limit changes to the listener interface.
- Update size limit constraints in S&T only if necessary.
- Header style fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 04:04:02 +00:00
Clemens Zeidler
d2cf4da51f Fix min/max size calculation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-17 01:10:13 +00:00
Clemens Zeidler
5733bbb94b If the constraints are infeasible don't move the windows because the target positions are not valid. Partially fix #6631.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 22:02:17 +00:00
Stephan Aßmus
8a7cbd8350 Always ignore found index entries after we detect
the stream is building the index on the fly once.
This allows to seek back to earlier positions, since
then the index will contain entries for later in the
stream and the logic to detect auto-generated indices
was broken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 15:27:16 +00:00
Stephan Aßmus
7b61b6b8e4 Finally: Seeking audio in MKV files works when seeking the
muxer by the "default" stream. When I previously tried this,
I mistakenly remembered AV_TIME_BASE to be 1000, but it's
1000000, the same as the native bigtime_t time representation.
Luckily, we can still set all other streams (including the
"default" stream) to be discarded when obtaining chunks
packets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 15:13:24 +00:00
Stephan Aßmus
6936b3ba4f Added support for bz2 compressed stuff in Matroska containers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 13:57:33 +00:00
Stephan Aßmus
51802669a5 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-16 13:56:12 +00:00
Stephan Aßmus
2baccbd9fb Fix retrieving the frame rate for real. Apparently
it can be any of these values, hope the priority is right.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-15 16:32:44 +00:00
Stephan Aßmus
31879da81c Use the correct field of the AVStream for the video
frame rate (perhaps it changed in 0.6?). This fixes
playback of several MP4 clips I have for testing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-15 08:35:47 +00:00
Clemens Zeidler
caefa86759 Fix highlighting of the tiling parents.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-15 05:24:54 +00:00
Stephan Aßmus
5a6b18e914 * Print the performance stats every five frames, and reset
the counters, so it's not the average for the entire
   decoding time, but for the last five frames. This gives
   a more accurate picture of what's going on.
 * Added NOTE about possibly removing the SWS version of the
   colorspace conversion code unless it's used for otherwise
   unsupported conversions. David's code is about 40% faster
   in my tests (nice job!).
 * Free the sws context in NegotiateVideoFormat, if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 18:43:58 +00:00
Alex Wilson
361babfb26 Update ICO Translator to use the Layout API. Fixes #6525
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 18:22:14 +00:00
Stephan Aßmus
5021eb2421 Removed the "native" ogg, vorbis, theora and speex plugins in favor
of support for these codecs and demuxer in the FFmpeg plugin. The
ogg test streams I downloaded play fine now. For example, Big Buck Bunny
would play without video before and ogg files natively encoded with the
FFmpeg plugin wouldn't play at all. Since the removed plugins were not
maintained and were based on external libs themselves, I didn't see the
point in keeping them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 12:32:04 +00:00
Stephan Aßmus
594039f10d Imported libspeex 1.2rc1 for use in libavcodec's libspeexdec.c.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 12:24:09 +00:00
Clemens Zeidler
727c8ba2c9 Improve min constraints and add max constraints, not perfect yet but much better then before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 05:23:05 +00:00
Stephan Aßmus
73e5249c79 * Enabled libvorbis and libtheora encoders in FFmpeg
* Enabled ogg muxer in MuxerTable.

ogg/vorbis creation successfully tested with MediaConverter.
ogg/theora needs more testing, it seems to work, but I need
to switch from the other vorbis/theora/ogg plugins to the
FFmpeg built-in support, otherwise the current theora stream
is not supported by the old plugin.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-13 20:25:24 +00:00