New issue
Advanced search Search tips

Issue 616007 link

Starred by 4 users

Issue metadata

Status: Duplicate
Merged: issue 249953
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

GetUserMedia>Webcam not working on the RPI, it is asking for a 0x0 YU12 image

Reported by olouvig...@gmail.com, May 31 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36

Steps to reproduce the problem:
1. Plug Raspberry Pi Camera module v2.1 and enable bcm2835_v4l2 module
2. Go to https://simpl.info/getusermedia/sources

What is the expected behavior?
Camera starts streaming properly an acceptable resolution.

What went wrong?
Only get a black box.

Chromium is asking for 0x0, so it's still resetting to the default minimum of 16x16 (which by the way has issues on the Pi). It should ask for a better resolution.

It looks like it does not properly handle stepwise size like `Size: Stepwise 16x16 - 3280x2464 with step 2/2`, grabbed with `v4l2-ctl --list-formats-ext`.

Did this work before? N/A 

Chrome version: 51.0.2704.54  Channel: n/a
OS Version: Ubuntu Mate 16.04
Flash Version: 

You can find more information here where we're trying to track down the issue on the Pi kernel side. https://github.com/raspberrypi/linux/issues/1498
 
kern.log
6.2 KB View Download
list-formats-ext.txt
2.3 KB View Download
Also tried to ask for a specific size:

```
// Prefer camera resolution nearest to 1280x720.
var constraints = { audio: true, video: { width: 1280, height: 720 } };

navigator.mediaDevices.getUserMedia(constraints)
.then(function(stream) {
  var video = document.querySelector('video');
  video.src = window.URL.createObjectURL(stream);
  video.onloadedmetadata = function(e) {
    video.play();
  };
})
.catch(function(err) {
  console.log(err.name + ": " + err.message);
});
```

Using https://github.com/webrtc/adapter, but Chromium still asks for a 0x0 size.
Also tried https://webrtchacks.github.io/WebRTC-Camera-Resolution/, that polls several resolution, and it fails for every resolution using the camera module with a ConstraintNotSatisfiedError.

Comment 4 Deleted

Looks like this is directly related to https://bugs.chromium.org/p/chromium/issues/detail?id=249953

```
[25420:0531/150505:INFO:CONSOLE(0)] "MediaStreamTrack.getSources is deprecated. See https://www.chromestatus.com/feature/4765305641369600 for more details.", source:  (0)
[25420:0531/150505:ERROR:video_capture_device_factory_linux.cc(108)] Not implemented reached in void media::GetSupportedFormatsForV4L2BufferType(int, media::VideoCaptureFormats *)
[25420:0531/150505:ERROR:video_capture_device_factory_linux.cc(108)] Not implemented reached in void media::GetSupportedFormatsForV4L2BufferType(int, media::VideoCaptureFormats *)
[25420:0531/150505:ERROR:video_capture_device_factory_linux.cc(108)] Not implemented reached in void media::GetSupportedFormatsForV4L2BufferType(int, media::VideoCaptureFormats *)
[25420:0531/150505:ERROR:video_capture_device_factory_linux.cc(108)] Not implemented reached in void media::GetSupportedFormatsForV4L2BufferType(int, media::VideoCaptureFormats *)
[25420:0531/150505:ERROR:video_capture_device_factory_linux.cc(108)] Not implemented reached in void media::GetSupportedFormatsForV4L2BufferType(int, media::VideoCaptureFormats *)
[25420:0531/150505:ERROR:video_capture_device_factory_linux.cc(108)] Not implemented reached in void media::GetSupportedFormatsForV4L2BufferType(int, media::VideoCaptureFormats *)
[25420:0531/150505:WARNING:media_stream_manager.cc(995)] Invalid optional capture ID =
[25420:0531/150505:WARNING:media_stream_manager.cc(995)] Invalid optional capture ID =
```
Cc: mcasas@chromium.org jansson@chromium.org
Components: Blink>GetUserMedia>Webcam
Owner: tommi@chromium.org
Status: Assigned (was: Unconfirmed)
Mergedinto: 249953
Status: Duplicate (was: Assigned)
#5 NOTREACHED() (see [1]) is there because sources with
V4L2_FRMSIZE_TYPE_STEPWISE resolutions are not supported;
this is tracked in https://crbug.com/249953.

olouvignes@, perhaps you can propose a CL to address this
issue and verify it in your case, WDYT? Essentially, you
could just enumerate the supported resolutions in 
supported_format.frame_size.SetSize().


[1] https://cs.chromium.org/chromium/src/media/capture/video/linux/video_capture_device_factory_linux.cc?type=cs&q=video_capture_device_factory_linux&sq=package:chromium&l=132

Sign in to add a comment