I'm able to hear and see everyone else in my campaign, but they can't hear or see me. Chat works. My webcam and microphone are working fine on other apps; Chrome believes my page is using the microphone and camera. OS is Win7 SP1; webcam is a Microsoft LifeCam HD 5000. I'm using Chrome Version 38.0.2125.111 m. I put a full console log below but I'm assuming this line is the relevant one: ERROR_CONTENT. Session error description: Failed to set video send codecs.."preventDefault: function (){this.cancelable?f=!0:a.warn("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}target: OT.Publishertitle: "Unable to Publish"type: "exception"__proto__: OT.ExceptionEvent app.js?1415143449:34 Is this known? Subscribe to streams! app.js?1415143449:33 Access allowed! app.js?1415143449:33 Final set zoom! app.js?1415143449:23 UPDATE GL SIZE! app.js?1415143449:23 Final set zoom! app.js?1415143449:23 window resize app.js?1415143449:35 Final set zoom! app.js?1415143449:23 UPDATE GL SIZE! app.js?1415143449:23 Final set zoom! app.js?1415143449:23 Exception received from TokBox app.js?1415143449:33 OT.ExceptionEvent {type: "exception", cancelable: true, preventDefault: function, isDefaultPrevented: function, message: "Publisher PeerConnection Error: Error while settin…or description: Failed to set video send codecs.."…}cancelable: truecode: 1500component: OT.PublisherisDefaultPrevented: function (){return f}message: "Publisher PeerConnection Error: Error while setting RemoteDescription Failed to set remote answer sdp: Session error code: ERROR_CONTENT. Session error description: Failed to set video send codecs.."preventDefault: function (){this.cancelable?f=!0:a.warn("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}arguments: nullcaller: nulllength: 0name: ""prototype: preventDefault__proto__: function Empty() {}<function scope>target: OT.Publisher_: ObjectaccessAllowed: trueaddEventListener: function (b,g,f){a.warn("The addEventListener() method is deprecated. Use on() or once() instead.");e([b],g,f)}cleanupSubscriber: function (a){var b=k[a];b&&(b.destroy(),delete k[a],w("disconnect","PeerConnection","subscriberConnection",a))}destroy: function (a,b){if(!u.isDestroyed())return u.set("Destroyed"),z(),!0!==b&&this.dispatchEvent(new OT.DestroyedEvent(OT.Event.names.PUBLISHER_DESTROYED,this,a),OT.$.bind(this.off,this)),this}detectDevices: function (){OT.warn("Fixme: Haven't implemented detectDevices")}detectMicActivity: function (){OT.warn("Fixme: Haven't implemented detectMicActivity")}disconnect: function (){for(var a in k)this.cleanupSubscriber(a)}dispatchEvent: function (b,e){if(!b.type)throw a.error("OTHelpers.Eventing.dispatchEvent: Event has no type"),element: div#publisher_video.OT_mirrored.OT_root.OT_publisher.OT_loadinggetEchoCancellationMode: function (){OT.warn("Fixme: Haven't implemented getEchoCancellationMode");return"fullDuplex"}getImgData: function (){return!m?(OT.error("OT.Publisher.getImgData: Cannot getImgData before the Publisher is publishing."),null):h.imgData()}getMicrophoneGain: function (){OT.warn("Fixme: Haven't implemented getMicrophoneGain");return 0.5}getStyle: function (a){return h.get(a)}guid: function (){return a}id: "publisher_video"isLoading: function (){return d&&d.loading()}isWebRTC: trueoff: function (b,e,g){if("string"===typeof b)e&&on: function (a,b,g){if("string"===typeof a&&b)e(a.split(" "),b,g);else for(var f in a)a.hasOwnProperty(f)&&e([f],a[f],b);return this}once: function (b,g,f){var c=b.split(" ");b=a.bind(function(){var a=g.apply(f||null,arguments);n(c,g,f);return a},this);e(c,g,f,b);return this}processMessage: function (a,b,c){OT.debug("OT.Publisher.processMessage: Received "+publish: function (a,b){OT.debug("OT.Publisher: publish");(u.isAttemptingToPublish()||u.isPublishing())&&z();u.set("GetUserMedia");e=OT.$.defaults(b||{},{publishAudio:!0,publishVideo:!0,mirror:!0});e.constraints?OT.warn("You have passed your own constraints not using ours"):(e.constraints=OT.$.clone(c),null===e.audioSource||!1===e.audioSource?(e.constraints.audio=!1,e.publishAudio=!1):("object"===typeof e.audioSource&&publishAudio: function (a){e.publishAudio=a;q&&q.muted(!a);r&&r.muteButton.muted(!a);l&&b&&b.setChannelActiveState("audio",a);return this}publishVideo: function (a){var c=e.publishVideo;e.publishVideo=a;l&&(b&&e.publishVideo!==c)&&b.setChannelActiveState("video",a);if(g)for(var c=g.getVideoTracks(),f=0,h=c.length;f<h;++f)c[f].setEnabled(a);a=!a;d&&(d.audioOnly(a),d.showPoster(a));removeEventListener: function (b,e,g){a.warn("The removeEventListener() method is deprecated. Use off() instead.");session: OT.SessionsetCamera: function (){OT.warn("Fixme: Haven't implemented setCamera")}setMicrophone: function (){OT.warn("Fixme: Haven't implemented setMicrophone")}setMicrophoneGain: function (){OT.warn("Fixme: Haven't implemented setMicrophoneGain")}setStream: function () { [native code] }setStyle: function (a,c,d){"string"!==typeof a?h.setAll(a,d):h.set(a,c);return this}streamId: "74ce4b80-ff71-4a41-982e-b828cd363c5c"trigger: function (a){if(d[a]&&0!==d[a].length){var b=Array.prototype.slice.call(arguments);b.shift();k(a,b);return this}}videoElement: function (){return h.domElement()}videoHeight: function (){return h.videoHeight()}videoWidth: function (){return h.videoWidth()}__proto__: OT.Publishertitle: "Unable to Publish"type: "exception"__proto__: OT.ExceptionEventconstructor: function (a,c,d,h,k,m){OT.Event.call(this,a);this.message=c;this.title=d;this.code=h;this.component=k;this.target=m}arguments: nullcaller: nulllength: 6name: ""prototype: OT.ExceptionEvent__proto__: function Empty() {}<function scope>__proto__: Object__defineGetter__: function __defineGetter__() { [native code] }__defineSetter__: function __defineSetter__() { [native code] }__lookupGetter__: function __lookupGetter__() { [native code] }__lookupSetter__: function __lookupSetter__() { [native code] }constructor: function Object() { [native code] }hasOwnProperty: function hasOwnProperty() { [native code] }isPrototypeOf: function isPrototypeOf() { [native code] }propertyIsEnumerable: function propertyIsEnumerable() { [native code] }toLocaleString: function toLocaleString() { [native code] }toString: function toString() { [native code] }valueOf: function valueOf() { [native code] }get __proto__: function __proto__() { [native code] }set __proto__: function __proto__() { [native code] } app.js?1415143449:33 Exception received from TokBox app.js?1415143449:34 OT.ExceptionEvent {type: "exception", cancelable: true, preventDefault: function, isDefaultPrevented: function, message: "Publisher PeerConnection Error: Error while settin…or description: Failed to set video send codecs.."…}cancelable: truecode: 1500component: OT.PublisherisDefaultPrevented: function (){return f}message: "Publisher PeerConnection Error: Error while setting RemoteDescription Failed to set remote answer sdp: Session error code: ERROR_CONTENT. Session error description: Failed to set video send codecs.."preventDefault: function (){this.cancelable?f=!0:a.warn("Event.preventDefault :: Trying to preventDefault on an Event that isn't cancelable")}target: OT.Publishertitle: "Unable to Publish"type: "exception"__proto__: OT.ExceptionEvent app.js?1415143449:34 3The page at '<a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a>' was loaded over HTTPS, but displayed insecure content from '<a href="http://files.d20.io/images/1433/med.png?1335737429" rel="nofollow">http://files.d20.io/images/1433/med.png?1335737429</a>': this content should also be loaded over HTTPS.