Problem with additional parameters for video constrains

What’s the difference between these two video constrains?

  1. { data: false, audio: false, video: true, videoSize: [320, 240, 640, 480] }

  2. { data: false, audio: false, video: { width: { min: 320, max: 640 }, height: { min: 240, max: 480 } } }

They are producing the same video configuration in Chrome WebRTC Internals:

Video Constraints
{width: {min: 320, max: 640}, height: {min: 240, max: 480}}

By using the second one, video is published but subscription does not happen. I need the second format to set also the sourceId.

I also tried this with no luck:

{ data: false, audio: false, video: {
  mandatory: { minWidth: 320, maxWidth: 640, minHeight: 240, maxHeight: 480 }
}}

Here’s the created offer for the subscriber from Chrome WebRTC Internals:

createOffer:

constraints: {{offerToReceiveAudio: {exact: 0}, offerToReceiveVideo: {exact: 0}}}

I also discovered that setting videoFrameRate which produces the following constraints does not work:

{advanced: [{frameRate: {min: 5}}, {frameRate: {max: 15}}]}

But if I set the frame rate directly in to the video config in Stream.js then I got this that works well:

{frameRate: {min: 5, max: 15}}