Re: How to configure a camera under constraints (Re: [Bug 23820] New: Add special values)

On 2013-11-21 13:42, Harald Alvestrand wrote:
> Sorry about forking the subject upstream of current discussion head, but
> it really needed forking...
>
> On 11/20/2013 06:41 PM, Stefan Håkansson LK wrote:
>> On 20/11/13 18:27, Martin Thomson wrote:
>>> On 20 November 2013 08:17, Jan-Ivar Bruaroey <jib@mozilla.com> wrote:
>>>> Shouldn't we first nail down what min and max mean? e.g.
>>> This I agree with.  But the answer might not be as deterministic as
>>> you might like.
>>>
>>>> - Does { mandatory: { width: { min: 1024 } } } conservatively give me
>>>> 1024x768
>>>>      or the highest available because I didn't constrain upward?
>>>>
>>>> - Does { mandatory: { width: { max: 2880 } } } aggressively give me
>>>> 2880x1800
>>>>      or the lowest available because I didn't constrain downward?
>>>>
>>>> - Given choices, what does { mandatory: { width: { min: 1024, max: 2880 } }
>>>> } give me?
>> I'm going to throw in one more thing here (relevant only to
>> width/height/aspect): how do we relate this to the width and height of
>> the consumer?
>>
>> Say a video MediaStreamTrack with mandatory setting of width min 1024 is
>> only attached to a video element with a width of 200. Should the camera
>> really produce a stream with width 1024, only to have it scaled at
>> display time?
>>
>
> In my opinion: If the user asks for it, using mandatory constraints, the
> browser should assume that the user knows what he's doing.
>
> One example found recently here:
>
> It turns out that in some cases, for some hardware, OS and software, if
> you attach two HD cameras to the same USB bus, the first one to be
> initialized in HD will get its bits through. The second one will fail in
> HD mode, but work in lower resolution mode (still room on the bus).
> (Names and details omitted, since I'm not sure I have them completely
> right.)
>
> If an app opens 2 cameras, in the sequence "HD" / "SD", there is no problem.
> If the app opens the 2 cameras as  "default", "default", the first gets
> HD, the second gets SD. Again, no problem.
>
> But if the 2 cameras are opened as "HD", "default", and the browser
> second-guesses the application and opens the first one in "SD", the
> result may be that the second one will be opened in "HD", and now an
> attempt to reconfigure the first one into HD will fail. User
> astonishment will result.
>
> Conclusion:
>
> The camera should, in my opinion, be opened in the mode that satisfies
> the constraints, and then the browser should do what it needs to do in
> order to produce the video asked for.

I think I agree. But it is unclear what "open camera" means. And if you 
open a first camera in HD, and a second is asked for as HD using 
optional constraints (thus getting only SD in this case) - what would 
happen if the first camera (for a while) is producing only SD? Would it 
give up its HD slot? Can it take it back?


>
>
>
>
>
>


Received on Thursday, 21 November 2013 13:03:05 UTC