]> granicus.if.org Git - libvpx/commitdiff
vp9_decoder_remove: destroy common after thread shutdown
authorJames Zern <jzern@google.com>
Wed, 9 Jul 2014 18:08:06 +0000 (11:08 -0700)
committerJames Zern <jzern@google.com>
Wed, 9 Jul 2014 18:08:06 +0000 (11:08 -0700)
in a failure case the threads may still be running and share a reference
to VP9_COMMON

Change-Id: I867034b4b55f133663b8cbf6ca06e72acf952849

vp9/decoder/vp9_decoder.c

index d154e9d815fbfd12b1581df07a6417289fc9e1ae..a0bd2f12415122021eb9b53b060b62e87b7d580d 100644 (file)
@@ -85,7 +85,6 @@ void vp9_decoder_remove(VP9Decoder *pbi) {
   VP9_COMMON *const cm = &pbi->common;
   int i;
 
-  vp9_remove_common(cm);
   vp9_get_worker_interface()->end(&pbi->lf_worker);
   vpx_free(pbi->lf_worker.data1);
   vpx_free(pbi->tile_data);
@@ -103,6 +102,7 @@ void vp9_decoder_remove(VP9Decoder *pbi) {
     vp9_loop_filter_dealloc(&pbi->lf_row_sync, sb_rows);
   }
 
+  vp9_remove_common(cm);
   vpx_free(pbi);
 }