Commit Graph

51071 Commits

Author SHA1 Message Date
Oliver Tappe 36f3164c3e Fix #11076 - build failing on Haiku.
* Haiku does not currently provide crtbeginS.o and crtendS.o, so
  we fall back to crtbegin.o and crtend.o.
  
This should not have any ill-effects, as the available compilers on
Haiku do not use __cxa_atexit() yet.
2014-07-27 16:00:53 +02:00
François Revol ad3d3335df Fix gopher search forms
Now searching for haiku on Veronica 2 leads to:
gopher://gopher.floodgap.com/7/v2/vs?haiku
2014-07-26 23:55:02 +02:00
François Revol ccea78b56d Add a BeShare package
It seems to crash on quit, but seems to be usable.
2014-07-26 20:16:27 +02:00
François Revol 078cd1a049 Add packages for muscle
Don't upload the _devel package just yet, it is not suitable for
building BeShare since it is built with single threading.
2014-07-26 20:16:25 +02:00
Oliver Tappe a36fd6667a Use crtbeginS.o and crtendS.o everywhere.
* Gcc is now using __cxa_atexit, so we need to use the crtbegin
  and crtend implementations that are meant to be used for shared
  libraries. This avoids crashes of servers that load add-ons
  (Media-Addon-Server and Print-Server) when shutting down Haiku.
* As executable are shared on Haiku, we use crtbeginS.o and crtendS.o
  for those, too.
* To simplify, we even use crtbeginS.o and crtendS.o in the kernel,
  but there they don't currently make a difference, as the respective
  initialization and cleanup functions are not being invoked by the
  kernel.
2014-07-26 19:13:24 +02:00
Oliver Tappe 61eac7b933 Drop unused variable HAIKU_GCC_GLUE_CODE_<target_arch> 2014-07-26 19:13:24 +02:00
Colin Günther f783136274 FFMPEG-Plugin: Fix doxygen style and typo.
- No functional change intended.

Signed-off-by: Colin Günther <coling@gmx.de>
2014-07-26 16:32:22 +02:00
Colin Günther 97f5a12f36 FFMPEG-Plugin: Simplify start time calculation of video frame.
- We let FFMPEG keep track of the correct relationship between presentation
  start time of the encoded video frame and the resulting decoded video frame.
  This simplyfies our code, meaning less lines of code to maintain :)

- Update documentation and pointing out some corner cases when calculating the
  correct presentation start time of a decoded video frame under certain
  circumstances.

- Fix doxygen: Use doxygen style instead of javadoc style.

- No functional change intended.

Signed-off-by: Colin Günther <coling@gmx.de>
2014-07-26 16:32:18 +02:00
Colin Günther 254a53409e FFMPEG-Plugin: Refactor out update of media_header.
- Main purpose is to make reading the function DecodeNextFrame() easier on the
  eyes, by moving out auxiliary code.
  Note: The media_header update code for the start_time is still left in
  DecodeNextFrame(). This will be addressed in a later commit specially
  targetted on handling start_time calculations for incomplete video frames.

- Also updated / added some documentation.

- No functional change intended.

Signed-off-by: Colin Günther <coling@gmx.de>
2014-07-26 16:32:13 +02:00
Colin Günther db59a66704 FFMPEG-Plugin: Implement decoding of streamed video data.
- This commit makes the mpeg2_decoder_test successfully decode the test video
  into 84 consecutive PNG images, yeah :)

- If this commit broke playing video files for you please file a bug report.
  I've tested only with one video file (big_buck_bunny_720p_stereo.ogg) that
  everything still works.

- The implementation has some shortcomings though, that will be addressed with
  some later commits:
    1. Start time of media header is wrongly calculated. At the moment we are
       using the start time of the first encoded data chunk we read via
       GetNextChunk(). This works only for chunk that contain one and exactly
       one frame, but not for chunks that contain the end or middle of a frame.
    2. Fields of the media header aren't updated when there is a format change
       in the middle of the video stream (for example the pixel aspect ratio
       might change in the middle of a DVB video stream (e.g. switch from 4:3
       to 16:9)).

- Also fix a potential bug, where the CODEC_FLAG_TRUNCATED flag was always
  set, due to missing brackets.

Signed-off-by: Colin Günther <coling@gmx.de>
2014-07-26 16:32:09 +02:00
Colin Günther 70a9edbb11 FFMPEG plugin: Tell the FFMPEG library to handle incomplete data.
- It is just one flag that needs to be set, so that streaming video data can be
  handled by the FFMPEG library.

- For reference: This flag is based on FFMPEG's 0.10.2 video decode example
  (doc/example/decoding_encoding.c).

- The _DecodeNextVideoFrame() method needs to be adjusted (still to come), to
  take streamed data into account. So the flag on its own doesn't help, but it
  is a reasonable step in that direction.

Signed-off-by: Colin Günther <coling@gmx.de>
2014-07-26 16:32:05 +02:00
Colin Günther 0adda4f68f FFMPEG plugin: Refactor video decoding function.
- Factor out the deinterlacing and color converting part to make the code more
  readable. This makes it easier to understand which code belongs to the actual
  decoding process and which code to the post processing.

- There seems to be no performance impact involved (I just looked at the spikes
  of the process manager) in factoring out this part, but one can always inline
  the method if a closer performance assesment (e.g. by enabling the profiling
  the existing profiling code) suggests so.

- Document the _DecodeVideo() method a little bit. Maybe someone can document
  the info parameter, as I'm a little bit clueless here.

- No functional change intended.

Signed-off-by: Colin Günther <coling@gmx.de>
(cherry picked from commit c5fa095fa73d47e75a46cfc138a56028fcc01819)
2014-07-26 16:32:01 +02:00
François Revol a07d97ee3b Add a bzr package 2014-07-26 16:17:00 +02:00
Oliver Tappe 8b420c2f0a Fix configure --help to not rely on gcc.
* Make sure that the invocation of 'configure --help', 'configure -h' or
  just 'configure' will show the usage text and exit.
2014-07-26 11:39:30 +02:00
Oliver Tappe 63701e7dd5 Add support for specifying the host compiler with CC.
* On some systems, the host compiler may not be called 'gcc', so allow
  overriding the default via the CC environment variable.
2014-07-26 11:22:17 +02:00
autonielx cb22f490a3 Update translations from Pootle 2014-07-26 06:21:11 +02:00
François Revol e95d0f00ce gopher: Set a default MIME type to force downloading 2014-07-26 01:45:40 +02:00
François Revol cf2bf30633 gopher: Add TODOs 2014-07-26 01:45:16 +02:00
François Revol 0716bfd63c gopher: remove debug printfs 2014-07-26 01:44:54 +02:00
François Revol 6983b35de5 gopher: Add a stylesheet
Modified version from my attempt at adding gopher to NetSurf.
2014-07-26 01:44:31 +02:00
François Revol ec0e815354 gopher: Handle audio and video types, add a default case 2014-07-26 01:44:09 +02:00
François Revol 0e48c9aecd gopher: Handle some more item types 2014-07-26 01:43:45 +02:00
François Revol f74e08fca8 gopher: Handle info resources and add proper title
We now create a proper title from the error message, or
the TITLE resource if present.
2014-07-26 01:43:22 +02:00
François Revol 2e8b8fd046 gopher: Handle binary, directory and error types 2014-07-26 01:42:59 +02:00
François Revol 0c1a4ebf8b Preliminary support for Gopher
Currently parses information and text items and retrives files.
2014-07-26 01:42:36 +02:00
Oliver Tappe 1b4510eebf Put haiku repository onto image.
* Now that system updates seem to work properly, put the haiku
  repository config and cache file onto the image automatically.
* Adjust URL of haiku repository (it is currently redirected
  to some other URL at download.haiku-os.org, but that will be
  changed later).
2014-07-26 00:35:53 +02:00
Oliver Tappe 42c7371472 Let Package-Kit's FetchFileJob handle redirects.
* additionally, drop duplicate setting of CURLOPT_PROGRESSFUNCTION.
2014-07-26 00:20:13 +02:00
Adrien Destugues a0209a665a Don't provide libtiff in haiku package.
The lib was moved to a separate package, and we should require it
instead.
2014-07-24 19:59:00 +02:00
John Scipione d11a323120 TextView: Fix FBC size breakage, take 2
Double checked BeOS R5 & Haiku R1/A4 and BTextView should be 356
bytes, somewhere since then we've added 4 bytes. So, this commit
reduces the class size from 360 back to 356 by removing 1 reserved
int32 (instead of 2).

I believe the class size changed in hrev46798 as a result of adding
2 bools (1 byte each padded out to 4 bytes).

Sorry for the noise.
2014-07-24 13:55:09 -04:00
John Scipione fb224a9f14 Revert "TextView: Fix FBC size breakage"
This reverts commit 8e268f7552.
2014-07-24 13:15:30 -04:00
John Scipione dc4ae0e9c0 TextView: Fix regression for Home and End
... while Shift is held down in a selection.

Before this commit, if you had some text selected and you pressed
Home or End with a Shift held down the selection would not change.
This was annoying and most likely unintentional. Thank you Axel for
informing me of this problem.

After this commit if you have some text selected and you press Home
with a Shift key held down it will move the end of the selection to the
first character of the same line that the end of selection is on and if you
press End with a Shift key held down it will move the end of the selection
to the last character of the same line that the end of the selection is on.

I looked at how a bunch of different OS's and applications handled this
and found that there are a bunch of different behaviors we could use here,
and there doesn't appear to be any consensus as to what the "right" or
"wrong" way to do this is so please forgive me if this doesn't work exactly
as you expect it to.

Note that the implementation used here is very different from how BeOS
R5 worked. In BeOS R5 pressing Home or End with Shift held down
always extended the selection, it never subtracted from it.

In BeOS pressing Home with Shift held down extended the selection from
the left-most part of the selection to the first charcter of the same line.
Pressing End with Shift held down extended the selection from the
right-most part of the selection to the end of the same line.
2014-07-24 11:06:18 -04:00
John Scipione 1d1e61bb39 TextView: include re-arrange style fix
* Put #include TextView.h first as our style guide suggests.
* Put #include <new> in it's own C++ includes section
* also remove an extra newline
2014-07-24 11:06:12 -04:00
John Scipione b55f61d65c TextView: update comments
Private Method docs are/should be in doxygen format. Remove \brief as doxygen
doesn't need this if you document along side the method.

Remove brief description comments from public methods, you'll need to look in the
Haiku Book for this now.

style squash
2014-07-24 11:03:56 -04:00
John Scipione 8e268f7552 TextView: Fix FBC size breakage
In hrev46796 I added two new private methods: _PreviousLineStart(),
and _NextLineEnd() which increased the size of the class breaking
binary compatability because I forgot to decrement the reserved array.

This commit decrements the reserved array restoring the class size
to the original size fixing the binary compat issue.

Thanks Axel for noticing.
2014-07-24 10:29:06 -04:00
John Scipione fef862eb20 TextView.h rearrage virtual methods for FBC
The order is updated so the virtual methods appear in the same order
that they did in BeOS R5 with methods new to Haiku added to the bottom.

Perform() moves up, all other methods move below GetDragParameters(),
the last virtual method in BeOS R5's TextView.h.
2014-07-24 10:29:04 -04:00
Augustin Cavalier 8d31bd2e69 Upgrade Pe to 2.4.5.
Signed-off-by: Oliver Tappe <zooey@hirschkaefer.de>
2014-07-24 16:16:43 +02:00
Adrien Destugues b0ab67351d use unpacked scanlines when rendering gradients.
* There is no point in trying to pack the scanlines in a gradient, as it
is very likely that each pixel will have a different color.
* Moreover, the packed scanline generator will assume all pixels in the
* scanline have the same alpha value (for faster blending), and it may
* not be the case.

Fixes #2946.
Thanks to stippi and jessicah who helped tracking and understanding the issue.
2014-07-24 12:38:53 +02:00
Adrien Destugues a694f30d6c Add more alpha gradient test cases
* Add a vertical linear gradient. This bypasses AGG and uses a faster
code path, which works.
* Add gradients drawn in a ClipToPicture() context. This uses an
* unpacked scanline rasterizer, which works.

This hints to the problem being the use of a packed scanline rasterizer,
with agg gradients touching the alpha channel.
2014-07-24 12:01:50 +02:00
Adrien Destugues 5f22a181ec Simplify code using BString features.
* No functional changes
* Why do in 10 lines what can be done in 1?
2014-07-24 09:46:24 +02:00
Adrien Destugues ca38bad855 Missing parenthesis. 2014-07-24 09:26:09 +02:00
Jessica Hamilton 18eae6381e Bump revisions of gcc_x86 & haikuwebkit for gcc2h.
This will pull in the requirement for a newer haiku
revision, as the fix to WebPositive lies in haiku,
not haikuwebkit.
2014-07-24 02:33:52 +00:00
François Revol aec644bf85 tty: Don't ignore errors when setting DTR
Instead we and the return value of both calls.

So if any fails we return an error.
2014-07-23 21:36:07 +02:00
François Revol 0be89c15ee tty: Add bitmask ioctls TIOCMBIS and TIOCMBIC
Equivalent to TIOCMSET + bitmask + TIOCMGET but with a single call.

Gnokii uses that.
2014-07-23 21:36:07 +02:00
John Scipione 970910c21e Runtime loader: Fix unchecked return value
Tested by running Attraction! from haikuware.com

CID 1228648
2014-07-23 14:44:36 -04:00
François Revol 741f2b55f2 glib2: updated package (fixed glib-gettextize) 2014-07-23 19:37:14 +02:00
François Revol 4e554681b7 Add a gcc2 version of libffi 2014-07-23 19:37:13 +02:00
John Scipione 3188d3d0bf Tracker: Remove logically dead code
Replace with an ASSERT that srcWindow != NULL by the time we've gotten
this far.

CID 1228649 and CID 1228650
2014-07-23 13:20:08 -04:00
Adrien Destugues d1a5f90981 More test cases for gradients with alpha channel
* Swapping the opaque and transparent ends leads to different results,
* Linear gradients are also affected.
2014-07-23 17:59:37 +02:00
Adrien Destugues 5f6a39cabe Add testcase from #2946. 2014-07-23 16:24:08 +02:00
François Revol ee58da76ed Add asciidoc and tig package 2014-07-23 15:01:27 +02:00