| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Also moved FrameConsumer interface to remoting/protocol. This
will allow to implement video rendering in WebrtcConnectionToHost as
WebRTC stack is responsible for video decoding.
BUG=547158
Review URL: https://codereview.chromium.org/1559043004
Cr-Commit-Position: refs/heads/master@{#367600}
|
|
|
|
|
|
|
|
|
| |
BUG=138542
TBR=wez@chromium.org
Review URL: https://codereview.chromium.org/1542203002
Cr-Commit-Position: refs/heads/master@{#366684}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now FrameConsumer implementation is responsible for scaling. This makes
interaction with FrameConsumer much simpler. Also removed FrameProducer
interface as it's no longer needed.
Currently video scaling is only used in the plugin when Graphics3D is
not available. In that case Graphics2D::SetScale() performs better than
trying to scale the image in the plugin, especially given that the
scaling code is not optimized for PNaCl.
This refactoring also allowed to simplify threading logic in the
rendering both on Android and in the plugin.
BUG=256850, 486917, 509914
Review URL: https://codereview.chromium.org/1288063004
Cr-Commit-Position: refs/heads/master@{#344404}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously hosts supplying a shaped desktop needed to attach the desktop
shape to every frame, wasting bandwidth since the shape changes
relatively infrequently.
This CL updates the VideoRenderer implementations to preserve the shape
(or lack of one) from the preceding frame if the VideoPacket does not
include the use_desktop_shape field.
Also simplifies FrameConsumerProxy to remove the need for ref-counting,
updates NULL->nullptr throughout remoting/codec/, and removes
unnecessary transparency logic from VideoDecoderVpx.
BUG=446288
Review URL: https://codereview.chromium.org/1236663002
Cr-Commit-Position: refs/heads/master@{#339212}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new VideoProcessor interface abstracts video layer in chromoting client.
RectangleUpdateDecoder is the default implementation. Another implementation
will be added to suppord decoding using <video> and MediaSource API (or
Pepper video decode API if we decide to use it instead in the future).
BUG=321825
Review URL: https://codereview.chromium.org/136763009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246547 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
When a complete video frame is decoded, this CL converts the pixels from
BGRA to a format suitable for loading into a Java Bitmap directly. This
removes the need to create a temporary int[] array in Java.
Review URL: https://codereview.chromium.org/23677011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226405 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now DesktopRegion, DesktopRect and DesktopSize are used instead of
corresponding skia types.
R=alexeypa@chromium.org
TBR=reed@google.com (for _moved_ skia dependency)
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=224101
Review URL: https://codereview.chromium.org/23440046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225265 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Remove dependency on Skia from chromoting client.
>
> Now DesktopRegion, DesktopRect and DesktopSize are used instead of
> corresponding skia types.
>
> TBR=reed@google.com (for _moved_ skia dependency)
>
> Review URL: https://chromiumcodereview.appspot.com/23440046
TBR=sergeyu@chromium.org
Review URL: https://codereview.chromium.org/24217003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224205 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Now DesktopRegion, DesktopRect and DesktopSize are used instead of
corresponding skia types.
TBR=reed@google.com (for _moved_ skia dependency)
Review URL: https://chromiumcodereview.appspot.com/23440046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224101 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
We now place frames into a Java-accessible memory region as we decode them.
Review URL: https://chromiumcodereview.appspot.com/19297003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212063 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This abstracts away RectangleUpdateDecoder's direct use of the the former class. It will ease the development of non--Web app client implementations.
BUG=255309
TBR=brettw (third_party/webrtc dependency)
Review URL: https://chromiumcodereview.appspot.com/18233015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210113 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=135089
TEST=
Review URL: https://chromiumcodereview.appspot.com/10801003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147605 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For Delegate/Observer-type classes that specify an
interface but do not have any particular lifetime
requirements, make their destructors protected. This is to
allow their interfaces to be implemented safely by
RefCounted types. With public destructors, it's possible to
do "scoped_ptr<Delegate> foo", and then assign a
RefCountedDelegateImpl, which would lead to a double free.
As none of these Delegates actually need public destructors
(ownership of the Delegate* is not transferred during a
function call / class constructor), mark the destructors
protected so that it becomes a compile warning to try to
delete them via the Delegate*.
BUG=123295
TEST=it compiles
Review URL: https://chromiumcodereview.appspot.com/10383262
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144086 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pipeline:
1. Only the clipping area, not the full frame, is drawn. This reduces the risk of out of memory situation on high page zoom levels. Screen updates are also incremental including scrolling scenarios.
2. Decoders now write pixels directly to the Pepper API backing store making it one memcpy less.
3. Scaling and panning is fully controlled by the plugin. The decoder only supplies the pixels it was asked for by the plugin.
BUG=109938
Review URL: http://codereview.chromium.org/9331003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123573 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=105401
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=118790
Review URL: http://codereview.chromium.org/9277001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119632 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace RectVectors with SkRegions in Decoder.
BUG=105401
Review URL: http://codereview.chromium.org/9277001
TBR=wez@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9146030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118793 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=105401
Review URL: http://codereview.chromium.org/9277001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118790 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8536002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109593 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=Remoting still works.
Review URL: http://codereview.chromium.org/8493020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109367 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=92085
TEST=BUILD
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=103523
Review URL: http://codereview.chromium.org/7992011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103533 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=NONE
TEST=BUILD
Review URL: http://codereview.chromium.org/7992011
TBR=dmaclach@chromium.org
Review URL: http://codereview.chromium.org/8103006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103526 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=NONE
TEST=BUILD
Review URL: http://codereview.chromium.org/7992011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103523 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It started as an attempt to put the decoder onto another thread. However, this became complicated due to multiple object ownership transfers and coupling between the decode layer and the network layer; the decoder's states were highly coupled with how the network packets were processed.
This could probably be broken up slightly, but at this point, it's easier to just commit as a whole The refactor includes:
1) Making the decoder interface unaware of "network packet" types.
2) Making the network layer process packets in order.
3) Threading through asynchronous APIs all over the place.
4) Simplifying the rectangle update protocol.
5) Cleaning up object lifetime and ownership semantics between the decode layer and the renderer.
As of right now, the Verbatim format is still broken on the encode side because it uses the old protocol.
BUG=52883, 57351
TEST=still connects to chromoting_simple_host
Review URL: http://codereview.chromium.org/3305001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61402 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RectangleUpdateDecoder abstraction.
This should allow a decoder that can still request the view to allocate frames without being owned by the view itself. This allows for cleaner threading semantics and reduced coupling of classes. The new decoder API keeps the decoder from being aware of the network packet types tightening up the API layering.
BUG=52833
TEST=None. This code isn't used yet.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=60703
Review URL: http://codereview.chromium.org/3335012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60721 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
RectangleUpdateDecoder abstraction."
Reverting r60703 due to build break.
TBR=willchan
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60705 0039d316-1c4b-4281-b951-d872f2087c98
|
|
RectangleUpdateDecoder abstraction.
This should allow a decoder that can still request the view to allocate frames without being owned by the view itself. This allows for cleaner threading semantics and reduced coupling of classes. The new decoder API keeps the decoder from being aware of the network packet types tightening up the API layering.
BUG=52833
TEST=None. This code isn't used yet.
Review URL: http://codereview.chromium.org/3335012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60703 0039d316-1c4b-4281-b951-d872f2087c98
|