| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
This should also avoid assert in the linked bug.
BUG=284775
R=wez@chromium.org
Review URL: https://codereview.chromium.org/23477059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223152 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
|
|
|
|
|
|
|
|
| |
If the host passes the desktop shape region in a VideoPacket the client will use it to draw transparent regions. The client also informs the web-app of the desktop shape changes, so it can set the input passthrough region correctly.
Review URL: https://chromiumcodereview.appspot.com/17511004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207789 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Previously RectangleUpdateDecoder maintaned list of pending packets. That's not really necessary.
Simplified it by queue tasks on the decode thread. Also some minor cleanups for the VideoStub
interface - removed GetPendingVideoPackets() that wasn't used anywhere.
Review URL: https://chromiumcodereview.appspot.com/10879085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154272 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/10867039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153305 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/10873047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153140 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/10877014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152912 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
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced all usage of MessageLoopProxy with SingleThreadTaskRunner.
Also includes some other minor cleanups, e.g. removed
ClientContext::network_message_loop().
Review URL: https://chromiumcodereview.appspot.com/10454018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141589 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=123295
TEST=none
Review URL: http://codereview.chromium.org/10066042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133801 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Previously VideoStub::ProcessVideoPacket() did not accept ownership of
video packets. Instead the done callback was responsible for deleting
the packet.
Review URL: http://codereview.chromium.org/9827006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129355 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RectangleUpdateDecoder runs on a separate thread from the FrameConsumer in the PPAPI plugin client, requiring FrameConsumer calls to be proxied to the correct thread. Previously it was passed a bare FrameConsumer pointer, with the underlying FrameConsumerProxy lifetime managed by the ChromotingInstance. Since the RectangleUpdateDecoder is itself ref-counted it can outlive the ChromotingInstance, and thereby the FrameConsumerProxy, if it is still processing queued messages at the time.
This CL:
* Changes RectangleUpdateDecoder() to take scoped_refptr<>s to the message-loop-proxy and consumer.
* Has RectangleUpdateDecoder() take a FrameConsumerProxy, since FrameConsumer is not ref-counted. Ideally it should take a scoped_ptr<FrameConsumer>, and leave ref-counting to be an internal detail of FrameConsumerProxy.
Also:
* FrameConsumerProxy now accepts a WeakPtr<FrameConsumer>, removing the need for an explicit Detach(), which feels safer. The WeakPtr must have been created on the thread the FrameConsumerProxy will punt calls to, which shouldn't be a problem.
* PepperView now SupportsWeakPtr rather than containing a WeakPtrFactory, to make it easy to get a WeakPtr to it.
BUG=118110
Review URL: http://codereview.chromium.org/9703006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127035 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this the view will only update after being scrolled when the next change is received from the host.
This CL also coalesces multiple scheduled paints to a single operation to avoid operations such as simultaneous resize and scroll from duplicating work.
BUG=117494,117925
Review URL: http://codereview.chromium.org/9677026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126485 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix RectangleUpdateDecoder to cope with rendering requests before it is ready.
Fix PepperView not to InitiateDrawing() until initialized.
Fix DecoderVp8::RenderFrame() to allow being called before a frame is decoded.
Add DCHECKs for screen and view size to DecoderVp8.
Clarify requirements on FrameProducer interface implementation in comments.
Clarify screen and view size requirements on Decoder interface methods.
BUG=116842,116851
Review URL: http://codereview.chromium.org/9624022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125536 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=Chromoting client
Review URL: http://codereview.chromium.org/9049011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116279 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TEST=Unit-tests & manual interoperability testing with older versions.
Review URL: http://codereview.chromium.org/9021044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116083 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main changes are:
* Express key-release, mouse coordinate scaling and clamping as InputStubs.
* KeyEventTracker handles key release.
* MouseInputFilter handles mouse scaling & clamping.
* PepperInputHandler converts Pepper events to InputStub events.
* Replace scaling ratios with host and view dimensions.
This resulted in some related changes
* The DecoderVp8 enforces a <=1:1 output-size before converting the frame.
* The setScaleToFit() API now has no effect.
* ChromotingView has become a pure interface again.
Things this CL is currently missing:
* Unit-tests for the new components.
Future work:
* Move the non-Pepper-specific input pipeline components to ChromotingClient.
* Rework the decode / convert / scale / render pipeline.
BUG=93552
TEST=remoting_unittests, and manual testing.
Review URL: http://codereview.chromium.org/8985007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115511 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
These are required to avoid artefacts when linear scaling is implemented.
BUG=93451
Review URL: http://codereview.chromium.org/8745008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115088 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removing base/task.h also.
BUG=none
TEST=existing.
Review URL: http://codereview.chromium.org/8994015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115074 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
|
|
|
|
|
|
|
|
|
| |
BUG=88600
TEST=Unittests
Review URL: http://codereview.chromium.org/7796026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100587 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Perform color space conversion and scaling in DecoderVp8 using fast SIMD routines. Also move clipping to DecoderVp8 to save more CPU cycles.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7396005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94099 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
raw_scoped_refptr_mismatch_checker.h
ref_counted.cc
ref_counted.h
ref_counted_memory.cc
ref_counted_memory.h
ref_counted_unittest.cc
scoped_callback_factory.h
scoped_comptr_win.h
scoped_handle.h
scoped_native_library.cc
scoped_native_library.h
scoped_native_library_unittest.cc
scoped_nsobject.h
scoped_open_process.h
scoped_ptr.h
scoped_ptr_unittest.cc
scoped_temp_dir.cc
scoped_temp_dir.h
scoped_temp_dir_unittest.cc
scoped_vector.h
singleton.h
singleton_objc.h
singleton_unittest.cc
linked_ptr.h
linked_ptr_unittest.cc
weak_ptr.cc
weak_ptr.h
weak_ptr_unittest.cc
BUG=None
TEST=Compile
Review URL: http://codereview.chromium.org/6714032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The screen size flows through the video pipeline, instead of
being set statically when that pipeline is constructed.
Only the Windows host actually detects when the screen size has changed.
BUG=72469
TEST=none
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=76747
Review URL: http://codereview.chromium.org/6573005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76908 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The screen size flows through the video pipeline, instead of
being set statically when that pipeline is constructed.
Only the Windows host actually detects when the screen size has changed.
BUG=72469
TEST=none
Review URL: http://codereview.chromium.org/6573005
TBR=simonmorris@chromium.org
Review URL: http://codereview.chromium.org/6610018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76748 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The screen size flows through the video pipeline, instead of
being set statically when that pipeline is constructed.
Only the Windows host actually detects when the screen size has changed.
BUG=72469
TEST=none
Review URL: http://codereview.chromium.org/6573005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76747 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=71063
TEST=compiled
Review URL: http://codereview.chromium.org/6312156
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73890 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Various cleanups.
BUG=None
TEST=Unittests.
Review URL: http://codereview.chromium.org/4476003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65590 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Moved video-related protobuf messages from event.proto to video.proto. Removed those that we don't need anymore
2. Fixed naming for enums and some types.
3. Reenabled VP8.
4. Proper RGB-YUV converter for VP8 encoder.
5. Changed the capturer_fake to show more meaningful picture.
BUG=57374
TEST=unittests
Review URL: http://codereview.chromium.org/4136010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64700 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Moved video-related protobuf messages from event.proto to video.proto. Removed those that we don't need anymore
2. Fixed naming for enums and some types.
3. Reenabled VP8.
4. Proper RGB-YUV converter for VP8 encoder.
5. Changed the capturer_fake to show more meaningful picture.
BUG=57374
TEST=unittests
Review URL: http://codereview.chromium.org/4136010
TBR=sergeyu@chromium.org
Review URL: http://codereview.chromium.org/4255001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64677 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Moved video-related protobuf messages from event.proto to video.proto. Removed those that we don't need anymore
2. Fixed naming for enums and some types.
3. Reenabled VP8.
4. Proper RGB-YUV converter for VP8 encoder.
5. Changed the capturer_fake to show more meaningful picture.
BUG=57374
TEST=unittests
Review URL: http://codereview.chromium.org/4136010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64672 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
|