Commit Graph

50997 Commits

Author SHA1 Message Date
Colin Günther
ed9de7dfca FFMPEG Plugin: Fix video start_time handling
- I misinterpreted the semantics of reordered_opaque. I thought it would
  establish the correct relationship between the start_time returned by
  GetNextChunk() and the next video frame successfully decoded. But for this
  to work reordered_opaque expects to be filled with presentation time stamps.
  A series of presentation time stamps may be jumping back in time due to the
  presence of B-frames. The decoded frame presentation time stamps series would
  then be ordered in a monotonically increased way.
  But actually GetNextChunk() always returns monotonically increasing start
  times. Mapping this behaviour to FFMPEG's expectations means labeling those
  start times as decoding time stamps (dts). Though for those start times to be
  related to the correct decoded video frames you have to assign the start time
  with the AVPacket containing the data to be decoded.

- This commit finally makes DVB video playback working for me with the TV app.
  Though no audio yet.

- The documentation was updated accordingly.
2014-08-10 14:51:12 +02:00
Colin Günther
b77f1724a2 FFMPEG Plugin: Calculate media_header.size_used field
- This field is needed by the dvb.media_addon to detect a format change so
  fill it with the correct value.
- Updated documentation accordingly to reflect reordered function calls and new
  assumptions based on the function call ordering.
2014-08-10 14:51:08 +02:00
Colin Günther
069bc5b597 dvb.media_addon: Stop changing format on every video frame.
- Due to comparing the wrong fields with one another the dvb.media_addon called
  ChangeFormat() on every new video frame.
- Also remove a duplicate print statement.
2014-08-10 14:51:04 +02:00
Colin Günther
97302390a0 dvb.media_addon: Remove superflous init check.
- This init check prevented the MediaStreamDecoder from setting up an input
  format. The values the init check is based on are initialized by the first
  call to BMediaDecoder::SetTo() as described in the BeBook ("If you use the
  empty form of the constructor, you'll have to call SetTo() to establish the
  format to be decoded before calling Decode()"). But MediaStreamDecoder
  doesn't provide a public way to call BMediaDecoder::SetTo() first.
  There are at least two possible solutions to remedy this situation:

  1. Remove the init check
  2. Add a public way to call SetTo()

  The first solution was chosen for the following reason: Least amount of
  code change needed as it is an implementation detail so no client code has
  to be touched.
  The second solution might make sence when you want to stick to the BeBook
  where a clear distinction between SetTo() and SetInputFormat() is made, but
  as the current MediaStreamDecoder implementation doesn't stick to the BeBook
  anyway there is less need to add another method at this time.
2014-08-10 14:51:00 +02:00
Colin Günther
7a8c70a3c8 dvb.media_addon: Trigger loading of media plugins.
- This is the workaround as described in the bug report #11018.
- I would have preferred to place this workaround in DVBMediaAddon::InitCheck()
  as this method can return a status code but unfortunately it is never called.
2014-08-10 14:50:57 +02:00
Colin Günther
b93146243f dvb.media_addon: Code cleanup and some coding style.
- Remove use of now superflous media_header_ex structure.

- Respect 80 char line limit and indentation rules. Coding style only applied
  to functions raw_[audio|video]_thread, rest of the class may need some more
  cleanup.

- No functional change intended.
2014-08-10 14:50:53 +02:00
Adrien Destugues
a90155a41a Have the haiku package provide libstdc++ for x86_gcc2.
Until we split this out, let's have the package declare it so we can
start adding requires to the ports.

Fixes installation of smpeg, libusb.
2014-08-10 13:18:29 +02:00
Ingo Weinhold
cd8a7df77d ImageRules: Fix issues where file names may contain parens
Parentheses in target names are considered by Jam to mean an archive
member. We have to explicitly use the M selector to keep that part.

Fixes #10378 (certain keymaps missing on image).
2014-08-10 10:17:26 +02:00
Adrien Destugues
633aeb7dba Add arm_none_eabi_{binutils,gcc} packages. 2014-08-10 09:42:21 +02:00
Adrien Destugues
4ad7d95bac Revert "Add sys/ucontext.h"
This reverts commit 6ddf93bfbe.

As pointed out by Ingo, those were moved to sugnal.h in the latest issue
(issue 7) of the POSIX spec. Sorry!
2014-08-09 20:18:05 +02:00
Adrien Destugues
6ddf93bfbe Add sys/ucontext.h
* Move ucontext_t and mcontext_t there as that's where POSIX says they
should be.
2014-08-09 18:37:43 +02:00
Adrien Destugues
ac1272a5e2 Mandelbrot: out-of-bounds access to the palette.
Fixes #8812, #10920

At the edge of the fractal, we can get a value between 0 and the number
of iterations. Since the palette is only 256 colors, this was previously
using random colors for any setting with more than 256 iterations, and
ended up crashing the program with very high numbers.

The palette is now looped, which avoids the crash. Looping the palette
allows finer details at the higher zoom levels to be provided using the
full color range, however with some of the palettes this will look quite
noisy.
2014-08-09 16:39:05 +02:00
François Revol
d53fe46d17 Add a non-const compatibility BRoster::Launch() call
BartLAuncher needs this one...
2014-08-09 01:20:25 +02:00
Jérôme Duval
3aeed6607c include strings.h where appriopriate...
instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949
2014-08-08 22:40:37 +02:00
François Revol
1c9081d343 Add a package for Moe. How did I live without it??? 2014-08-08 19:59:06 +02:00
Arvind S Raj
82d287ddcb Reserve 8MB space for kernel before RAM_loader
...so that kernel does not overwrite the loader.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #11067.
2014-08-08 17:39:33 +02:00
Zhuowei Zhang
2ba49c8804 Fix debugger only displaying 16 bits of 64-bit integers in the memory inspector
Signed-off-by: Oliver Tappe <zooey@hirschkaefer.de>
2014-08-08 14:09:13 +02:00
Adrien Destugues
178be2a6d5 Style fix. 2014-08-08 09:15:38 +02:00
Adrien Destugues
51a0d540e5 Even more optimization of this list iteration.
I hope everyone is happy, now.
2014-08-08 08:37:13 +02:00
Arvind S Raj
fea7eea417 Check if gARMPagingMethod is null
in arch_vm_translation_map_is_kernel_page_accessible. Fix borrowed from x86
(commit 428b9e758c).

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #11107.
2014-08-08 08:37:12 +02:00
François Revol
295ded8c41 Fix gopher
fInputBuffer was shadowing the base class member...
2014-08-08 00:35:20 +02:00
Alexander von Gluck IV
57891e9363 app_server/html5: Fix CanvasMessage header guard 2014-08-07 21:21:36 +00:00
Alexander von Gluck IV
30bd14fabd app_server/html5: Fill in uninitalized member; CID 611419 2014-08-07 21:19:34 +00:00
Alexander von Gluck IV
1dc0615477 app_server/html5: Fill in uninitalized members; CID 611418 2014-08-07 21:15:45 +00:00
Alexander von Gluck IV
2a3020ac9d app_server/html5: Drop unused and uninitalized members 2014-08-07 21:10:17 +00:00
François Revol
e4860647b2 Add opensound package
Just fixed a crash in there, so it should now work ok.
2014-08-07 22:54:01 +02:00
François Revol
c35639a9ed Also add a Jamfile MIME type 2014-08-07 15:23:16 +02:00
François Revol
2501fb7082 Add a type for makefiles
Pe provides one already but it doesn't have a sniff rule.

For now we only match the BeOS/Haiku template header string.
2014-08-07 15:22:48 +02:00
Adrien Destugues
848bfaa602 More style fixes to ehci. 2014-08-07 13:51:36 +02:00
Adrien Destugues
267d1d780c More efficient clearing of the entryList.
As pointed out by Ingo, using RemoveAt(0) here is needlessly
inneficient.
2014-08-07 13:50:25 +02:00
Adrien Destugues
1ec28f7117 improved Vim coding guidelines checker
* Avoids highlighting some matches when inside C++ comments
* Add operators << and >>
* Automatic initialization when opening Vim in the Haiku source
directory (if you use the same directory layout as me)
* Matches are highlighted in red, rather than reusing the "Search" match
group. You can pick another color by editing the "highlight Style"
definition.

Improvements are still welcome.
2014-08-07 13:17:57 +02:00
Adrien Destugues
a48beaced0 More style fixes. 2014-08-07 13:17:54 +02:00
François Revol
948f0320c9 Add names to the BeHappy icon
Since it's almost a simple marble, it's an interesting model,
I used it for ARAnyM. HAving names makes it easier to change.
2014-08-07 11:23:49 +02:00
François Revol
40dc5eb53e Change the marble to a coin on the ARAnyM icon
- makes it look like a coin like the original icon with a
recessed part,
- cleanup,
- add a bee shadow.
2014-08-07 11:23:29 +02:00
Adrien Destugues
fd8d809fa1 Style fix. 2014-08-07 10:33:23 +02:00
Adrien Destugues
6289332b7b Remove device ID known not to work.
Does not fix #10606. Let's at least leave VESA working for owners of
this card.
2014-08-07 09:34:37 +02:00
Adrien Destugues
9cd25f4c05 Build fix. 2014-08-07 09:06:29 +02:00
Adrien Destugues
15f61ef94c CID992461: Memory leak
Fixes #10362.
2014-08-07 08:48:29 +02:00
Puck Meerburg
5c2781ea61 Fix Coverity bug 992388: Missing break in switch
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #10342
2014-08-07 08:35:19 +02:00
Adrien Destugues
2afa6a58e1 Style and 80-column fixes. 2014-08-07 08:12:58 +02:00
Jessica Hamilton
4b0b03de1d Add BeCJK input method to HaikuPorts repository. 2014-08-07 17:28:43 +00:00
François Revol
f1d963a418 Offset the bee in ARAnyM icon so it's not blurry at 32x32 2014-08-07 02:16:34 +02:00
François Revol
3d21494d80 Add an icon for ARAnyM 2014-08-07 02:10:51 +02:00
François Revol
0dd565ee64 Harddisk icon variations with "Be" and Zeta logos
So many partitions around and they all looked the same...
2014-08-07 01:35:27 +02:00
Jessica Hamilton
297f6f3d28 Add canna input method to HaikuPorts repository 2014-08-07 10:00:47 +00:00
Oliver Tappe
63cc55477c Fix #11101: Broken Haiku repository creation.
* Invoking jam from Haiku's checkout directory (instead of the output
  directory) caused the repository creation to fail because of relative
  paths to package files being used. Now we make sure that HAIKU_TOP
  is an absolute path to avoid problems like these.
2014-08-06 23:49:00 +02:00
Akshay Jaggi
b1c9a1a31d Fix Short Packet EHCI Transfers
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #10867.
2014-08-06 22:19:31 +02:00
Colin Günther
6063c02ef9 FFMPEG Plugin: Fix bug and refactor input buffer padding.
- Fixes a bug using realloc with a memory area that is declared const which
  lead to a crash in MediaPlayer playing big_buck_bunny_720p_stereo.ogg.
- The refactoring introduces a strict separation between const memory areas
  (chunk data read from GetNextChunk()) and mutable memory areas
  (fVideoChunkBuffer) by using a copy operation instead of a casted
  assignment operation.
- Updated documentation accordingly.
- Besides fixing the bug, there is no functional change intended.
2014-08-06 14:28:40 +02:00
Colin Günther
6defcb6c6d FFMPEG Plugin: Refactor out loading next video chunk.
- Main reason for refactoring was to increase readability of
  _DecodeNextVideoFrame() by simplifying it. Refactoring was tested
  successfully for no functional change with mpeg2_decoder_test.
- Reindented the method definition in the header file so that the new method
  _LoadNextVideoChunkIfNeededAndUpdateStartTime() fits into 80 chars per line.
  Reindentdation is applied to methods only as the member variables have no
  space left for reindentation.
- Update documentation accordingly.
- Fix wording of audio part to audio path.
- No functional change intended.
2014-08-06 14:28:39 +02:00
Colin Günther
2d83b8419c FFMPEG Plugin: Implement video input buffer padding.
- Padding is required by FFMPEG for correct operation of all video decoders.
  FFMPEG performs some speed optimizations under the hood that may lead to
  reading over the end of the chunk buffer wouldn't there have been padding
  applied.
- Note: Padding is required for audio decoders, too. I will tackle this in some
  later commits. For the time being we have a degradation in code reuse, due to
  different memory ownership of chunk buffers in audio and video decoder path.
  Audio path must not care about freeing chunk buffers whereas video path must.
- Fix coding style and some typos.
- Update documentation accordingly.
2014-08-06 14:28:37 +02:00