Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp

Issue 1641653002: Adding counters for the types of Media Constraints. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 if (mediaConstraints.isObject()) 324 if (mediaConstraints.isObject())
325 UseCounter::count(context, UseCounter::RTCPeerConnectionConstructorConst raints); 325 UseCounter::count(context, UseCounter::RTCPeerConnectionConstructorConst raints);
326 else 326 else
327 UseCounter::count(context, UseCounter::RTCPeerConnectionConstructorCompl iant); 327 UseCounter::count(context, UseCounter::RTCPeerConnectionConstructorCompl iant);
328 328
329 RTCConfiguration* configuration = parseConfiguration(rtcConfiguration, excep tionState); 329 RTCConfiguration* configuration = parseConfiguration(rtcConfiguration, excep tionState);
330 if (exceptionState.hadException()) 330 if (exceptionState.hadException())
331 return 0; 331 return 0;
332 332
333 MediaErrorState mediaErrorState; 333 MediaErrorState mediaErrorState;
334 WebMediaConstraints constraints = MediaConstraintsImpl::create(mediaConstrai nts, mediaErrorState); 334 WebMediaConstraints constraints = MediaConstraintsImpl::create(context, medi aConstraints, mediaErrorState);
335 if (mediaErrorState.hadException()) { 335 if (mediaErrorState.hadException()) {
336 mediaErrorState.raiseException(exceptionState); 336 mediaErrorState.raiseException(exceptionState);
337 return 0; 337 return 0;
338 } 338 }
339 339
340 RTCPeerConnection* peerConnection = new RTCPeerConnection(context, configura tion, constraints, exceptionState); 340 RTCPeerConnection* peerConnection = new RTCPeerConnection(context, configura tion, constraints, exceptionState);
341 peerConnection->suspendIfNeeded(); 341 peerConnection->suspendIfNeeded();
342 if (exceptionState.hadException()) 342 if (exceptionState.hadException())
343 return 0; 343 return 0;
344 344
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 410
411 if (offerOptions) { 411 if (offerOptions) {
412 if (offerOptions->offerToReceiveAudio() != -1 || offerOptions->offerToRe ceiveVideo() != -1) 412 if (offerOptions->offerToReceiveAudio() != -1 || offerOptions->offerToRe ceiveVideo() != -1)
413 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyOfferOptions); 413 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyOfferOptions);
414 else if (errorCallback) 414 else if (errorCallback)
415 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyCompliant); 415 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyCompliant);
416 416
417 m_peerHandler->createOffer(request, offerOptions); 417 m_peerHandler->createOffer(request, offerOptions);
418 } else { 418 } else {
419 MediaErrorState mediaErrorState; 419 MediaErrorState mediaErrorState;
420 WebMediaConstraints constraints = MediaConstraintsImpl::create(rtcOfferO ptions, mediaErrorState); 420 WebMediaConstraints constraints = MediaConstraintsImpl::create(context, rtcOfferOptions, mediaErrorState);
421 if (mediaErrorState.hadException()) { 421 if (mediaErrorState.hadException()) {
422 mediaErrorState.raiseException(exceptionState); 422 mediaErrorState.raiseException(exceptionState);
423 return; 423 return;
424 } 424 }
425 425
426 if (!constraints.isEmpty()) 426 if (!constraints.isEmpty())
427 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyConstraints); 427 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyConstraints);
428 else if (errorCallback) 428 else if (errorCallback)
429 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyCompliant); 429 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateOfferL egacyCompliant);
430 430
(...skipping 12 matching lines...) Expand all
443 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateAnswerLega cyConstraints); 443 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateAnswerLega cyConstraints);
444 else if (errorCallback) 444 else if (errorCallback)
445 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateAnswerLega cyCompliant); 445 UseCounter::count(context, UseCounter::RTCPeerConnectionCreateAnswerLega cyCompliant);
446 446
447 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) 447 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState))
448 return; 448 return;
449 449
450 ASSERT(successCallback); 450 ASSERT(successCallback);
451 451
452 MediaErrorState mediaErrorState; 452 MediaErrorState mediaErrorState;
453 WebMediaConstraints constraints = MediaConstraintsImpl::create(mediaConstrai nts, mediaErrorState); 453 WebMediaConstraints constraints = MediaConstraintsImpl::create(context, medi aConstraints, mediaErrorState);
454 if (mediaErrorState.hadException()) { 454 if (mediaErrorState.hadException()) {
455 mediaErrorState.raiseException(exceptionState); 455 mediaErrorState.raiseException(exceptionState);
456 return; 456 return;
457 } 457 }
458 458
459 RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::cr eate(executionContext(), this, successCallback, errorCallback); 459 RTCSessionDescriptionRequest* request = RTCSessionDescriptionRequestImpl::cr eate(executionContext(), this, successCallback, errorCallback);
460 m_peerHandler->createAnswer(request, constraints); 460 m_peerHandler->createAnswer(request, constraints);
461 } 461 }
462 462
463 void RTCPeerConnection::setLocalDescription(ExecutionContext* context, RTCSessio nDescription* sessionDescription, VoidCallback* successCallback, RTCErrorCallbac k* errorCallback, ExceptionState& exceptionState) 463 void RTCPeerConnection::setLocalDescription(ExecutionContext* context, RTCSessio nDescription* sessionDescription, VoidCallback* successCallback, RTCErrorCallbac k* errorCallback, ExceptionState& exceptionState)
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 511
512 RTCSessionDescription* RTCPeerConnection::remoteDescription() 512 RTCSessionDescription* RTCPeerConnection::remoteDescription()
513 { 513 {
514 WebRTCSessionDescription webSessionDescription = m_peerHandler->remoteDescri ption(); 514 WebRTCSessionDescription webSessionDescription = m_peerHandler->remoteDescri ption();
515 if (webSessionDescription.isNull()) 515 if (webSessionDescription.isNull())
516 return nullptr; 516 return nullptr;
517 517
518 return RTCSessionDescription::create(webSessionDescription); 518 return RTCSessionDescription::create(webSessionDescription);
519 } 519 }
520 520
521 void RTCPeerConnection::updateIce(const Dictionary& rtcConfiguration, const Dict ionary& mediaConstraints, ExceptionState& exceptionState) 521 void RTCPeerConnection::updateIce(ExecutionContext* context, const Dictionary& r tcConfiguration, const Dictionary& mediaConstraints, ExceptionState& exceptionSt ate)
522 { 522 {
523 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) 523 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState))
524 return; 524 return;
525 525
526 RTCConfiguration* configuration = parseConfiguration(rtcConfiguration, excep tionState); 526 RTCConfiguration* configuration = parseConfiguration(rtcConfiguration, excep tionState);
527 if (exceptionState.hadException()) 527 if (exceptionState.hadException())
528 return; 528 return;
529 529
530 MediaErrorState mediaErrorState; 530 MediaErrorState mediaErrorState;
531 WebMediaConstraints constraints = MediaConstraintsImpl::create(mediaConstrai nts, mediaErrorState); 531 WebMediaConstraints constraints = MediaConstraintsImpl::create(context, medi aConstraints, mediaErrorState);
532 if (mediaErrorState.hadException()) { 532 if (mediaErrorState.hadException()) {
533 mediaErrorState.raiseException(exceptionState); 533 mediaErrorState.raiseException(exceptionState);
534 return; 534 return;
535 } 535 }
536 536
537 bool valid = m_peerHandler->updateICE(configuration, constraints); 537 bool valid = m_peerHandler->updateICE(configuration, constraints);
538 if (!valid) 538 if (!valid)
539 exceptionState.throwDOMException(SyntaxError, "Could not update the ICE Agent with the given configuration."); 539 exceptionState.throwDOMException(SyntaxError, "Could not update the ICE Agent with the given configuration.");
540 } 540 }
541 541
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 case ICEConnectionStateDisconnected: 689 case ICEConnectionStateDisconnected:
690 return "disconnected"; 690 return "disconnected";
691 case ICEConnectionStateClosed: 691 case ICEConnectionStateClosed:
692 return "closed"; 692 return "closed";
693 } 693 }
694 694
695 ASSERT_NOT_REACHED(); 695 ASSERT_NOT_REACHED();
696 return String(); 696 return String();
697 } 697 }
698 698
699 void RTCPeerConnection::addStream(MediaStream* stream, const Dictionary& mediaCo nstraints, ExceptionState& exceptionState) 699 void RTCPeerConnection::addStream(ExecutionContext* context, MediaStream* stream , const Dictionary& mediaConstraints, ExceptionState& exceptionState)
700 { 700 {
701 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState)) 701 if (throwExceptionIfSignalingStateClosed(m_signalingState, exceptionState))
702 return; 702 return;
703 703
704 if (!stream) { 704 if (!stream) {
705 exceptionState.throwDOMException(TypeMismatchError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "MediaStream")); 705 exceptionState.throwDOMException(TypeMismatchError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "MediaStream"));
706 return; 706 return;
707 } 707 }
708 708
709 if (m_localStreams.contains(stream)) 709 if (m_localStreams.contains(stream))
710 return; 710 return;
711 711
712 MediaErrorState mediaErrorState; 712 MediaErrorState mediaErrorState;
713 WebMediaConstraints constraints = MediaConstraintsImpl::create(mediaConstrai nts, mediaErrorState); 713 WebMediaConstraints constraints = MediaConstraintsImpl::create(context, medi aConstraints, mediaErrorState);
714 if (mediaErrorState.hadException()) { 714 if (mediaErrorState.hadException()) {
715 mediaErrorState.raiseException(exceptionState); 715 mediaErrorState.raiseException(exceptionState);
716 return; 716 return;
717 } 717 }
718 718
719 m_localStreams.append(stream); 719 m_localStreams.append(stream);
720 720
721 bool valid = m_peerHandler->addStream(stream->descriptor(), constraints); 721 bool valid = m_peerHandler->addStream(stream->descriptor(), constraints);
722 if (!valid) 722 if (!valid)
723 exceptionState.throwDOMException(SyntaxError, "Unable to add the provide d stream."); 723 exceptionState.throwDOMException(SyntaxError, "Unable to add the provide d stream.");
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 { 1049 {
1050 visitor->trace(m_localStreams); 1050 visitor->trace(m_localStreams);
1051 visitor->trace(m_remoteStreams); 1051 visitor->trace(m_remoteStreams);
1052 visitor->trace(m_dispatchScheduledEventRunner); 1052 visitor->trace(m_dispatchScheduledEventRunner);
1053 visitor->trace(m_scheduledEvents); 1053 visitor->trace(m_scheduledEvents);
1054 RefCountedGarbageCollectedEventTargetWithInlineData<RTCPeerConnection>::trac e(visitor); 1054 RefCountedGarbageCollectedEventTargetWithInlineData<RTCPeerConnection>::trac e(visitor);
1055 ActiveDOMObject::trace(visitor); 1055 ActiveDOMObject::trace(visitor);
1056 } 1056 }
1057 1057
1058 } // namespace blink 1058 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698