Mir

Merge lp:~kdub/mir/fix-1662997 into lp:mir

Proposed by Kevin DuBois
Status: Merged
Approved by: Daniel van Vugt
Approved revision: no longer in the source branch.
Merged at revision: 4023
Proposed branch: lp:~kdub/mir/fix-1662997
Merge into: lp:mir
Diff against target: 56 lines (+15/-2)
3 files modified
src/client/mir_screencast.cpp (+11/-2)
src/server/frontend/session_mediator.cpp (+1/-0)
tests/unit-tests/frontend/test_session_mediator.cpp (+3/-0)
To merge this branch: bzr merge lp:~kdub/mir/fix-1662997
Reviewer Review Type Date Requested Status
Mir CI Bot continuous-integration Approve
Alan Griffiths Needs Information
Daniel van Vugt Approve
Review via email: mp+316762@code.launchpad.net

Commit message

fix the operation of mirscreencast by making sure the server sends enough information about pixel format so that mirclient can create screencast buffers.

fixes: LP: #1662997

Description of the change

fix the operation of mirscreencast by making sure the server sends enough information about pixel format so that mirclient can create screencast buffers.

fixes: LP: #1662997

To post a comment you must log in.
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:4019
https://mir-jenkins.ubuntu.com/job/mir-ci/2957/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/3918
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4004
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/3994
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/3994
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/3994
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/3945
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/3945/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/3945
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/3945/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/3945
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/3945/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/3945
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/3945/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/3945
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/3945/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/3945
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/3945/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/2957/rebuild

review: Approve (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Not sure but seems harmless.

review: Approve
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://mir-jenkins.ubuntu.com/job/mir-autolanding/1083/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/3935/console
    None: https://mir-jenkins.ubuntu.com/job/generic-land-mp/1144/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4021
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/4011
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/4011
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4011
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/3962/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/3962
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/3962/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/3962
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/3962/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/3962
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/3962/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/3962
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/3962/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/3962
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/3962/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Kevin DuBois (kdub) wrote :

13:22:03 9: [ FAILED ] NestedInputWithMouse.mouse_pointer_position_is_in_sync_with_host_server (61301 ms)

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
https://mir-jenkins.ubuntu.com/job/mir-autolanding/1084/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/3938/console
    None: https://mir-jenkins.ubuntu.com/job/generic-land-mp/1145/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4024
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/4014
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/4014
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4014
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/3965
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=zesty/3965/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/3965
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/3965/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=zesty/3965/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/3965
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/3965/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/3965
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/3965/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/3965
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial+overlay/3965/artifact/output/*zip*/output.zip

review: Needs Fixing (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Is the commit message accurate?

This looks like a fix to libmirserver [in SessionMediator::create_screencast()] not a fix to mirscreencast.

review: Needs Information
Revision history for this message
Kevin DuBois (kdub) wrote :

It fixes the operation of mirscreencast. I can try to explain better

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

^^^
Jenkins failure is bug 1646558

Revision history for this message
Mir CI Bot (mir-ci-bot) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/client/mir_screencast.cpp'
2--- src/client/mir_screencast.cpp 2017-01-24 07:37:03 +0000
3+++ src/client/mir_screencast.cpp 2017-02-08 20:03:59 +0000
4@@ -183,8 +183,17 @@
5 if (!protobuf_screencast->has_error() && connection)
6 {
7 std::lock_guard<decltype(mutex)> lock(mutex);
8- buffer_stream = connection->make_consumer_stream(
9- protobuf_screencast->buffer_stream());
10+ try
11+ {
12+ buffer_stream = connection->make_consumer_stream(
13+ protobuf_screencast->buffer_stream());
14+ }
15+ catch (...)
16+ {
17+ callback(nullptr, context);
18+ create_screencast_wait_handle.result_received();
19+ return;
20+ }
21 }
22
23 callback(this, context);
24
25=== modified file 'src/server/frontend/session_mediator.cpp'
26--- src/server/frontend/session_mediator.cpp 2017-01-31 19:33:32 +0000
27+++ src/server/frontend/session_mediator.cpp 2017-02-08 20:03:59 +0000
28@@ -812,6 +812,7 @@
29
30 protobuf_screencast->mutable_screencast_id()->set_value(
31 screencast_session_id.as_value());
32+ protobuf_screencast->mutable_buffer_stream()->set_pixel_format(pixel_format);
33 protobuf_screencast->mutable_buffer_stream()->mutable_id()->set_value(
34 screencast_session_id.as_value());
35
36
37=== modified file 'tests/unit-tests/frontend/test_session_mediator.cpp'
38--- tests/unit-tests/frontend/test_session_mediator.cpp 2017-01-31 19:33:32 +0000
39+++ tests/unit-tests/frontend/test_session_mediator.cpp 2017-02-08 20:03:59 +0000
40@@ -573,6 +573,7 @@
41 mp::ScreencastParameters screencast_parameters;
42 mp::Screencast screencast;
43 auto const& stub_buffer = stub_screencast->stub_buffer;
44+ screencast_parameters.set_pixel_format(stub_buffer.pixel_format());
45
46 EXPECT_CALL(mock_ipc_operations, pack_buffer(_, Ref(stub_buffer), mg::BufferIpcMsgType::full_msg));
47
48@@ -580,6 +581,8 @@
49 &screencast, null_callback.get());
50 EXPECT_EQ(static_cast<int>(stub_buffer.id().as_value()),
51 screencast.buffer_stream().buffer().buffer_id());
52+ //LP: #1662997
53+ EXPECT_THAT(screencast.buffer_stream().pixel_format(), Eq(stub_buffer.pixel_format()));
54 }
55
56 TEST_F(SessionMediator, eventually_partially_packs_screencast_buffer)

Subscribers

People subscribed via source and target branches