Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#1835 closed defect (fixed)

Crash in iOS OpenGL renderer when in background and assertion during destruction

Reported by: ming Owned by: ming
Priority: normal Milestone: release-2.4
Component: pjmedia-videodev Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description (last modified by ming)

The current iOS OpenGL renderer has two problems:

  • Crash when created in the background.
    When app accepts video call when in bg, without going to foreground, creating OpenGL context will crash.
  • Assertion caused by race condition between rendering and destruction
    Assertion failed: (vid_tee && vid_tee->info.signature==( 'E'<<24 | 'T'<<16 | 'V'<<8 | 'P' )), function pjmedia_vid_tee_remove_dst_port, file ../src/pjmedia/vid_tee.c, line 277.
    
    #4	0x0012e18a in pjmedia_vid_tee_remove_dst_port at pjproject-2.0-iphone/pjmedia/build/../src/pjmedia/vid_tee.c:276
    #5	0x001e60a0 in pjsua_vid_stop_stream at pjproject-2.0-iphone/pjsip/build/../src/pjsua-lib/pjsua_vid.c:1010
    #6	0x001dd894 in stop_media_stream at pjproject-2.0-iphone/pjsip/build/../src/pjsua-lib/pjsua_media.c:2238
    #7	0x001dcc10 in stop_media_session [inlined] at pjproject-2.0-iphone/pjsip/build/../src/pjsua-lib/pjsua_media.c:2285
    

Change History (4)

comment:1 Changed 4 years ago by ming

  • Description modified (diff)
  • Summary changed from iOS OpenGL renderer to Crash in iOS OpenGL renderer when in background and assertion during destruction

comment:2 Changed 4 years ago by ming

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

In 5047:

Fixed #1835: Fixed crash in iOS OpenGL renderer when in background and assertion during destruction

comment:3 Changed 4 years ago by ming

  • Description modified (diff)

comment:4 Changed 4 years ago by ming

In 5052:

Re #1835: More robust handling of format change, to prevent data race if clock is still running.

Note: See TracTickets for help on using tickets.