Merge lp:~morphis/aethercast/fix-wds-api-break into lp:aethercast

Proposed by Simon Fels
Status: Merged
Approved by: Simon Fels
Approved revision: 186
Merged at revision: 124
Proposed branch: lp:~morphis/aethercast/fix-wds-api-break
Merge into: lp:aethercast
Diff against target: 98 lines (+28/-0)
4 files modified
src/mcs/basesourcemediamanager.cpp (+12/-0)
src/mcs/basesourcemediamanager.h (+4/-0)
src/mcs/miracastsourceclient.cpp (+11/-0)
src/mcs/miracastsourceclient.h (+1/-0)
To merge this branch: bzr merge lp:~morphis/aethercast/fix-wds-api-break
Reviewer Review Type Date Requested Status
Thomas Voß (community) Approve
PS Jenkins bot continuous-integration Approve
Review via email: mp+287440@code.launchpad.net

Commit message

With WDS 1.0.0 the API has slightly changed. This adopts our implementation to respect the new API and build again.

Description of the change

With WDS 1.0.0 the API has slightly changed. This adopts our implementation to respect the new API and build again.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Thomas Voß (thomas-voss) wrote :

Minor niggles inline.

review: Needs Fixing
186. By Simon Fels

Fix review comments

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Thomas Voß (thomas-voss) wrote :

LGTM.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/mcs/basesourcemediamanager.cpp'
2--- src/mcs/basesourcemediamanager.cpp 2015-12-07 16:02:43 +0000
3+++ src/mcs/basesourcemediamanager.cpp 2016-03-02 11:29:57 +0000
4@@ -20,7 +20,15 @@
5 #include "basesourcemediamanager.h"
6 #include "logger.h"
7
8+namespace {
9+static unsigned int next_session_id = 0;
10+}
11+
12 namespace mcs {
13+BaseSourceMediaManager::BaseSourceMediaManager() :
14+ session_id_(++next_session_id) {
15+}
16+
17 wds::SessionType BaseSourceMediaManager::GetSessionType() const {
18 return wds::VideoSession;
19 }
20@@ -102,4 +110,8 @@
21 void BaseSourceMediaManager::SendIDRPicture() {
22 WARNING("Unimplemented IDR picture request");
23 }
24+
25+std::string BaseSourceMediaManager::GetSessionId() const {
26+ return std::to_string(session_id_);
27+}
28 } // namespace mcs
29
30=== modified file 'src/mcs/basesourcemediamanager.h'
31--- src/mcs/basesourcemediamanager.h 2015-11-26 16:48:53 +0000
32+++ src/mcs/basesourcemediamanager.h 2016-03-02 11:29:57 +0000
33@@ -24,6 +24,8 @@
34 class BaseSourceMediaManager : public wds::SourceMediaManager
35 {
36 public:
37+ explicit BaseSourceMediaManager();
38+
39 void SetSinkRtpPorts(int port1, int port2) override;
40 std::pair<int,int> GetSinkRtpPorts() const override;
41 int GetLocalRtpPort() const override;
42@@ -35,6 +37,7 @@
43 bool InitOptimalAudioFormat(const std::vector<wds::AudioCodec>& sink_supported_codecs) override;
44 wds::AudioCodec GetOptimalAudioFormat() const override;
45 void SendIDRPicture() override;
46+ std::string GetSessionId() const override;
47
48 protected:
49 virtual void Configure() = 0;
50@@ -43,6 +46,7 @@
51 int sink_port1_;
52 int sink_port2_;
53 wds::H264VideoFormat format_;
54+ unsigned int session_id_;
55 };
56 } // namespace mcs
57 #endif
58
59=== modified file 'src/mcs/miracastsourceclient.cpp'
60--- src/mcs/miracastsourceclient.cpp 2015-12-09 16:07:13 +0000
61+++ src/mcs/miracastsourceclient.cpp 2016-03-02 11:29:57 +0000
62@@ -33,6 +33,10 @@
63 #include "utils.h"
64 #include "logging.h"
65
66+namespace {
67+static int send_cseq = 0;
68+}
69+
70 namespace mcs {
71 std::shared_ptr<MiracastSourceClient> MiracastSourceClient::Create(ScopedGObject<GSocket>&& socket) {
72 std::shared_ptr<MiracastSourceClient> sp{new MiracastSourceClient{std::move(socket)}};
73@@ -85,6 +89,13 @@
74 return local_address_;
75 }
76
77+int MiracastSourceClient::GetNextCSeq(int *initial_peer_cseq) const {
78+ ++send_cseq;
79+ if (initial_peer_cseq && send_cseq == *initial_peer_cseq)
80+ send_cseq *= 2;
81+ return send_cseq;
82+}
83+
84 class TimerCallbackData {
85 public:
86 TimerCallbackData(MiracastSourceClient *delegate) :
87
88=== modified file 'src/mcs/miracastsourceclient.h'
89--- src/mcs/miracastsourceclient.h 2015-12-07 09:07:50 +0000
90+++ src/mcs/miracastsourceclient.h 2016-03-02 11:29:57 +0000
91@@ -57,6 +57,7 @@
92 std::string GetLocalIPAddress() const override;
93 uint CreateTimer(int seconds) override;
94 void ReleaseTimer(uint timerId) override;
95+ int GetNextCSeq(int* initial_peer_cseq = nullptr) const override;
96
97 public:
98 static gboolean OnTimeout(gpointer user_data);

Subscribers

People subscribed via source and target branches

to all changes: