Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / libjingle / source / talk / session / media / mediasessionclient.cc
index a5a652c..a1096b6 100644 (file)
 
 #include "talk/session/media/mediasessionclient.h"
 
-#include "talk/base/helpers.h"
-#include "talk/base/logging.h"
-#include "talk/base/stringencode.h"
-#include "talk/base/stringutils.h"
-#include "talk/media/base/cryptoparams.h"
 #include "talk/media/base/capturemanager.h"
+#include "talk/media/base/cryptoparams.h"
 #include "talk/media/sctp/sctpdataengine.h"
 #include "talk/p2p/base/constants.h"
 #include "talk/p2p/base/parsing.h"
 #include "talk/xmllite/qname.h"
 #include "talk/xmllite/xmlconstants.h"
 #include "talk/xmpp/constants.h"
+#include "webrtc/base/helpers.h"
+#include "webrtc/base/logging.h"
+#include "webrtc/base/stringencode.h"
+#include "webrtc/base/stringutils.h"
 
 namespace cricket {
 
@@ -283,7 +283,7 @@ bool ParseSsrcAsLegacyStream(const std::string& ssrc_str,
                              ParseError* error) {
   if (!ssrc_str.empty()) {
     uint32 ssrc;
-    if (!talk_base::FromString(ssrc_str, &ssrc)) {
+    if (!rtc::FromString(ssrc_str, &ssrc)) {
       return BadParse("Missing or invalid ssrc.", error);
     }
 
@@ -361,7 +361,7 @@ void ParseBandwidth(const buzz::XmlElement* parent_elem,
                     MediaContentDescription* media) {
   const buzz::XmlElement* bw_elem = GetXmlChild(parent_elem, LN_BANDWIDTH);
   int bandwidth_kbps = -1;
-  if (bw_elem && talk_base::FromString(bw_elem->BodyText(), &bandwidth_kbps)) {
+  if (bw_elem && rtc::FromString(bw_elem->BodyText(), &bandwidth_kbps)) {
     if (bandwidth_kbps >= 0) {
       media->set_bandwidth(bandwidth_kbps * 1000);
     }
@@ -373,6 +373,7 @@ bool ParseGingleAudioContent(const buzz::XmlElement* content_elem,
                              ParseError* error) {
   AudioContentDescription* audio = new AudioContentDescription();
 
+  int preference = kMaxPayloadId;
   if (content_elem->FirstElement()) {
     for (const buzz::XmlElement* codec_elem =
              content_elem->FirstNamed(QN_GINGLE_AUDIO_PAYLOADTYPE);
@@ -380,6 +381,7 @@ bool ParseGingleAudioContent(const buzz::XmlElement* content_elem,
          codec_elem = codec_elem->NextNamed(QN_GINGLE_AUDIO_PAYLOADTYPE)) {
       AudioCodec codec;
       if (ParseGingleAudioCodec(codec_elem, &codec)) {
+        codec.preference = preference--;
         audio->AddCodec(codec);
       }
     }
@@ -406,12 +408,14 @@ bool ParseGingleVideoContent(const buzz::XmlElement* content_elem,
                              ParseError* error) {
   VideoContentDescription* video = new VideoContentDescription();
 
+  int preference = kMaxPayloadId;
   for (const buzz::XmlElement* codec_elem =
            content_elem->FirstNamed(QN_GINGLE_VIDEO_PAYLOADTYPE);
        codec_elem != NULL;
        codec_elem = codec_elem->NextNamed(QN_GINGLE_VIDEO_PAYLOADTYPE)) {
     VideoCodec codec;
     if (ParseGingleVideoCodec(codec_elem, &codec)) {
+      codec.preference = preference--;
       video->AddCodec(codec);
     }
   }
@@ -565,12 +569,13 @@ bool ParseJingleStreamsOrLegacySsrc(const buzz::XmlElement* desc_elem,
 bool ParseJingleAudioContent(const buzz::XmlElement* content_elem,
                              ContentDescription** content,
                              ParseError* error) {
-  talk_base::scoped_ptr<AudioContentDescription> audio(
+  rtc::scoped_ptr<AudioContentDescription> audio(
       new AudioContentDescription());
 
   FeedbackParams content_feedback_params;
   ParseFeedbackParams(content_elem, &content_feedback_params);
 
+  int preference = kMaxPayloadId;
   for (const buzz::XmlElement* payload_elem =
            content_elem->FirstNamed(QN_JINGLE_RTP_PAYLOADTYPE);
       payload_elem != NULL;
@@ -578,6 +583,7 @@ bool ParseJingleAudioContent(const buzz::XmlElement* content_elem,
     AudioCodec codec;
     if (ParseJingleAudioCodec(payload_elem, &codec)) {
       AddFeedbackParams(content_feedback_params, &codec.feedback_params);
+      codec.preference = preference--;
       audio->AddCodec(codec);
     }
   }
@@ -605,12 +611,13 @@ bool ParseJingleAudioContent(const buzz::XmlElement* content_elem,
 bool ParseJingleVideoContent(const buzz::XmlElement* content_elem,
                              ContentDescription** content,
                              ParseError* error) {
-  talk_base::scoped_ptr<VideoContentDescription> video(
+  rtc::scoped_ptr<VideoContentDescription> video(
       new VideoContentDescription());
 
   FeedbackParams content_feedback_params;
   ParseFeedbackParams(content_elem, &content_feedback_params);
 
+  int preference = kMaxPayloadId;
   for (const buzz::XmlElement* payload_elem =
            content_elem->FirstNamed(QN_JINGLE_RTP_PAYLOADTYPE);
       payload_elem != NULL;
@@ -618,6 +625,7 @@ bool ParseJingleVideoContent(const buzz::XmlElement* content_elem,
     VideoCodec codec;
     if (ParseJingleVideoCodec(payload_elem, &codec)) {
       AddFeedbackParams(content_feedback_params, &codec.feedback_params);
+      codec.preference = preference--;
       video->AddCodec(codec);
     }
   }
@@ -646,7 +654,7 @@ bool ParseJingleVideoContent(const buzz::XmlElement* content_elem,
 bool ParseJingleSctpDataContent(const buzz::XmlElement* content_elem,
                                 ContentDescription** content,
                                 ParseError* error) {
-  talk_base::scoped_ptr<DataContentDescription> data(
+  rtc::scoped_ptr<DataContentDescription> data(
       new DataContentDescription());
   data->set_protocol(kMediaProtocolSctp);
 
@@ -658,7 +666,7 @@ bool ParseJingleSctpDataContent(const buzz::XmlElement* content_elem,
     stream.groupid = stream_elem->Attr(QN_NICK);
     stream.id = stream_elem->Attr(QN_NAME);
     uint32 sid;
-    if (!talk_base::FromString(stream_elem->Attr(QN_SID), &sid)) {
+    if (!rtc::FromString(stream_elem->Attr(QN_SID), &sid)) {
       return BadParse("Missing or invalid sid.", error);
     }
     if (sid > kMaxSctpSid) {
@@ -681,6 +689,7 @@ bool ParseJingleRtpDataContent(const buzz::XmlElement* content_elem,
   FeedbackParams content_feedback_params;
   ParseFeedbackParams(content_elem, &content_feedback_params);
 
+  int preference = kMaxPayloadId;
   for (const buzz::XmlElement* payload_elem =
            content_elem->FirstNamed(QN_JINGLE_RTP_PAYLOADTYPE);
       payload_elem != NULL;
@@ -688,6 +697,7 @@ bool ParseJingleRtpDataContent(const buzz::XmlElement* content_elem,
     DataCodec codec;
     if (ParseJingleDataCodec(payload_elem, &codec)) {
       AddFeedbackParams(content_feedback_params, &codec.feedback_params);
+      codec.preference = preference--;
       data->AddCodec(codec);
     }
   }
@@ -1142,7 +1152,7 @@ bool MediaSessionClient::WriteContent(SignalingProtocol protocol,
     }
   } else {
     return BadWrite("Unknown content type: " +
-                    talk_base::ToString<int>(media->type()), error);
+                    rtc::ToString<int>(media->type()), error);
   }
 
   return true;