AppRTCDemo(iOS): remote-video reliability fixes

Previously GAE Channel callbacks would be handled by JS string-encoding the
payload into a URL.  Unfortunately this is limited to the (undocumented,
silently problematic) maximum URL length UIWebView supports.  Replaced this
scheme by a notification from JS to ObjC and a getter from ObjC to JS (which
happens out-of-line to avoid worrying about UIWebView's re-entrancy, or lack
thereof).  Part of this change also moved from a combination of: JSON,
URL-escaping, and ad-hoc :-separated values to simply JSON.

Also incidentally:
- Removed outdated TODO about onRenegotiationNeeded, which is unneeded
- Move handling of PeerConnection callbacks to the main queue to avoid having
  to think about concurrency too hard.
- Replaced a bunch of NSOrderedSame with isEqualToString for clearer code and
  not having to worry about the fact that [nil compare:@"foo"]==NSOrderedSame
  is always true (yay ObjC!).
- Auto-scroll messages view.

BUG=3117
R=noahric@google.com

Review URL: https://webrtc-codereview.appspot.com/10899006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5814 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
fischman@webrtc.org
2014-03-31 20:16:49 +00:00
parent 30cd5b5278
commit 61e78fca6c
7 changed files with 168 additions and 143 deletions

View File

@@ -178,7 +178,7 @@
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">textField</string>
<string key="label">roomInput</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="546385578"/>
</object>
@@ -186,7 +186,7 @@
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">textInstructions</string>
<string key="label">instructionsView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="176994284"/>
</object>
@@ -194,7 +194,7 @@
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">textOutput</string>
<string key="label">logView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="634862110"/>
</object>
@@ -660,25 +660,25 @@
<string key="superclassName">UIViewController</string>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="blackView">UIView</string>
<string key="textField">UITextField</string>
<string key="textInstructions">UITextView</string>
<string key="textOutput">UITextView</string>
<string key="roomInput">UITextField</string>
<string key="instructionsView">UITextView</string>
<string key="logView">UITextView</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="blackView">
<string key="name">blackView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo" key="textField">
<string key="name">textField</string>
<object class="IBToOneOutletInfo" key="roomInput">
<string key="name">roomInput</string>
<string key="candidateClassName">UITextField</string>
</object>
<object class="IBToOneOutletInfo" key="textInstructions">
<string key="name">textInstructions</string>
<object class="IBToOneOutletInfo" key="instructionsView">
<string key="name">instructionsView</string>
<string key="candidateClassName">UITextView</string>
</object>
<object class="IBToOneOutletInfo" key="textOutput">
<string key="name">textOutput</string>
<object class="IBToOneOutletInfo" key="logView">
<string key="name">logView</string>
<string key="candidateClassName">UITextView</string>
</object>
</dictionary>