Opened 11 months ago

Closed 6 months ago

Last modified 6 months ago

#2103 closed enhancement (fixed)

Green screen in the beginning of video call

Reported by: nanang Owned by: nanang
Priority: normal Milestone: release-2.8
Component: pjmedia-audiodev Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description

In YUV format, if the buffer is all zero, it will be displayed as green (as compared to RGBA format, where it will be black). Unfortunately currently buffer is initialized with zero. As most video codecs uses I420 format, perhaps it is better to have special initialization for I420 so the screen will be black.

The allocation and initialization of frame buffer is done in pjmedia/src/pjmedia/vid_port.c, in function pjmedia_vid_port_create().

Change History (4)

comment:1 Changed 6 months ago by nanang

  • Resolution set to fixed
  • Status changed from new to closed

In 5862:

Close #2103: Initiate video port frame buffer with black for I420 & YV12 formats.

comment:2 Changed 6 months ago by ming

In 5866:

Re #2103: Move the black screen initialization of the renderer to pjmedia_vid_port_start() instead

comment:3 Changed 6 months ago by ming

In 5867:

Re #2103: Darwin's capture device is passive, thus the video port's clock will fetch the frames much earlier than when the device is ready, getting zero frames and resulting in green screen on the remote side.

comment:4 Changed 6 months ago by ming

In 5868:

Re #2103:
A couple of improvements:

  • Now initialize both video port's renderer AND capture buffer
  • Support RGB format as well.

Known limitation: YUV currently only supports I420 and YV12

Note: See TracTickets for help on using tickets.