Opened 10 years ago Closed 10 years ago #1380 closed defect (fixed)m_callerOwnsSEIs is not initialized
Description
m_callerOwnsSEIs (SEI.h, line 487) is not initialized for SEIScalableNesting, however it is used in the destructor.
It can be fixed as the following: SEIScalableNesting() : m_callerOwnsSEIs(false) {} Change History (2)comment:1 Changed 10 years ago by DefaultCC Plugin
comment:2 Changed 10 years ago by ksuehring
Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|
I've committed the suggested version in r4345
But in general that construction is not very safe. If the flag is set wrong, we end up either in double free or memory leaks. So it's hard to determine a "safe" initialization value.
Also the construction existed only for sharing the SEI structures at the encoder, which used to just pass a pointer to the picture timing and buffering period SEI messages into the scalable nesting.
Now with the recent SEI encoder rewrite, which introduced delayed SEI writing, this sharing is not possible anymore. So we don't need m_callerOwnsSEIs anymore. Actually it was still used incorrectly at the encoder, causing a memory leak.
I have removed m_callerOwnsSEIs in r4346