BufTab_delete return non-zero

I used the H.264 decoder in the DM6467. It works fine to play the video and start and stop. However, after a few start and stop of playing clips. It cannot create the output table anymore. I actually create the input/output table for the codec and I also delete the codec everything time when I stop to play the clip. I found out that the delete of the output table, it returns a -1. Anyone have the same experience?

I suspect this one is related with the resize of the table and this is requested by the H.264 codecs. I found out the BufTab.c and it seems only delete the original buffers only. I tried to collapse and delete. But it still has the same problem. The table re-size is the same code as in the sample of video_decode_io.

Can you please provide the details of this resize table, is it requested by decoder through memtabs etc. You can do one experiment, book keep all the buffers/memory tables, resources etc while h264 decoder request them. And verify about the same during delete whether they are freed appropriately.

/* How many buffers can the codec keep at one time? */ numCodecBuffers = Vdec2_getMinOutBufs(hVd2); if (numCodecBuffers < 0) { printf("Failed to get buffer requirements\n"); return -1; } else if(numCodecBuffers == 0) { printf("No touch of the buffer\n"); return 0; } /* * Total number of frames needed are the number of buffers the codec * can keep at any time, plus the number of frames in the display pipe. */ numBufs = numCodecBuffers + displayBufs;

If you glance through the above routine, there are four possibilities of returning -1, out of this function. So, do you got any error message out of these four and can you also cross check any wrong inputs to the codec can return -1, out of these four points.

I don't see any error from these 4 returns except the memory pool is not good enough for the codec's request. In my case, the expand is working but it cannot release when you release the buffer and the table.

Can you pls check from where this -1 got returned during table delete and also check whether the correct params are passed to this routine, with the wrong inputs it might stuck inside this. One more thing is that this routine is not part of H264 decoder codec, looks might belongs to top level application. Can anybody from app champs help regarding this.

Can you please take back up of the buffer information while allocating, including their indices if present, pointers, their sizes and the purpose of each buffer etc. And verify before sending for delete whether the correct buffer is going for delete operation and its been not hold by any component.

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.