xpra icon
Bug tracker and wiki

Changes between Initial Version and Version 1 of Ticket #350, comment 6


Ignore:
Timestamp:
07/26/13 08:56:06 (6 years ago)
Author:
Antoine Martin
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #350, comment 6

    initial v1  
    2626* when the next frame comes in, avcodec frees the first frame ({{{0x7f79980ca430L}}}), so we call {{{av_free()}}} which calls {{{free()}}} since we had already called {{{xpra_free()}}} on this frame at step 1:
    2727{{{
    28 avcodec_release_buffer(0x7f7998002160L, 0x7f79980ca430L) decoder=<xpra.codecs.dec_avcodec.decoder.Decoder object at 0x1f7b590>, frame_key=140160218735664
     28avcodec_release_buffer(0x7f7998002160L, 0x7f79980ca430L) \
     29   decoder=<xpra.codecs.dec_avcodec.decoder.Decoder object at 0x1f7b590>, frame_key=140160218735664
    2930av_free(0x7f79980ca430L) framewrapper=AVFrameWrapper(0x7f79980ca430)
    3031AVFrameWrapper(0x7f79980ca430).av_free()
     
    3435{{{
    3536add_framewrapper(0x7f79980ca430L, AVFrameWrapper(0x7f79980ca430)) known frame keys: ['0x7f7998174f50']
    36 2013-07-26 14:39:29,870 avcodec: 257856 bytes in <class 'xpra.codecs.dec_avcodec.decoder.AVImageWrapper'>(YUV420P:(0, 0, 498, 316, 24))
     37avcodec: 257856 bytes in <class 'xpra.codecs.dec_avcodec.decoder.AVImageWrapper'>(YUV420P:(0, 0, 498, 316, 24))
    3738AVImageWrapper.free() av_frame=AVFrameWrapper(0x7f79980ca430)
    3839xpra_free(0x7f79980ca430) framewrapper=AVFrameWrapper(0x7f79980ca430)
     
    4546On exit, we cleanup the decoder, which ends up firing {{{avcodec_release_buffer}}} on the 2 remaining frames it was still using and we can actually free them:
    4647{{{
    47 avcodec_release_buffer(0x7f7998002160L, 0x7f79980ca430L) decoder=<xpra.codecs.dec_avcodec.decoder.Decoder object at 0x1f7b590>, frame_key=140160218735664
     48avcodec_release_buffer(0x7f7998002160L, 0x7f79980ca430L) \
     49    decoder=<xpra.codecs.dec_avcodec.decoder.Decoder object at 0x1f7b590>, frame_key=140160218735664
    4850av_free(0x7f79980ca430L) framewrapper=AVFrameWrapper(0x7f79980ca430)
    4951AVFrameWrapper(0x7f79980ca430).av_free()
    5052AVFrameWrapper(0x7f79980ca430).free()
    51 avcodec_release_buffer(0x7f7998002160L, 0x7f7998174f50L) decoder=<xpra.codecs.dec_avcodec.decoder.Decoder object at 0x1f7b590>, frame_key=140160219434832
     53avcodec_release_buffer(0x7f7998002160L, 0x7f7998174f50L) \
     54    decoder=<xpra.codecs.dec_avcodec.decoder.Decoder object at 0x1f7b590>, frame_key=140160219434832
    5255av_free(0x7f7998174f50L) framewrapper=AVFrameWrapper(0x7f7998174f50)
    5356AVFrameWrapper(0x7f7998174f50).av_free()