@@ -665,11 +665,10 @@ static int cbs_h26 ## h26n ## _replace_ ## ps_var(CodedBitstreamContext *ctx, \
return err; \
if (priv->ps_var[id] == priv->active_ ## ps_var) \
priv->active_ ## ps_var = NULL ; \
- av_buffer_unref(&priv->ps_var ## _ref[id]); \
+ err = av_buffer_replace(&priv->ps_var ## _ref[id], unit->content_ref); \
av_assert0(unit->content_ref); \
- priv->ps_var ## _ref[id] = av_buffer_ref(unit->content_ref); \
- if (!priv->ps_var ## _ref[id]) \
- return AVERROR(ENOMEM); \
+ if (err < 0) \
+ return err; \
priv->ps_var[id] = (H26 ## h26n ## Raw ## ps_name *)priv->ps_var ## _ref[id]->data; \
if (!unit->content_ref) \
memcpy(priv->ps_var[id], ps_var, sizeof(*ps_var)); \
Signed-off-by: Gil Pedersen <git@gpost.dk> --- libavcodec/cbs_h2645.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)