Hi @GrapheneCt,
First of all, thank you for the amazing work on NetStream!
Regarding the known bug where VOD comments crash the app, I was looking at the source code and I might have found a potential trigger. I can't compile with VDSuite right now to test it myself, so I thought I'd share my findings here:
In CreateCommentListItem(), the button ID is set using param.cell_index directly. For the first comment, the index is 0. I noticed that for Live comments a LIVE_COMMENT_MAGIC offset is used. Without an offset for VOD comments, an ID of 0 might fail to set properly, causing wdg->GetName().GetIDHash() in OnCommentBodyButton() to return a massive wrong hash, leading to an std::out_of_range exception when accessing m_commentItems.at().
Could adding a VOD_COMMENT_MAGIC offset be the solution to this crash, or is there a specific reason it was structured this way?
Thanks again for your time!
Hi @GrapheneCt,
First of all, thank you for the amazing work on NetStream!
Regarding the known bug where VOD comments crash the app, I was looking at the source code and I might have found a potential trigger. I can't compile with VDSuite right now to test it myself, so I thought I'd share my findings here:
In CreateCommentListItem(), the button ID is set using param.cell_index directly. For the first comment, the index is 0. I noticed that for Live comments a LIVE_COMMENT_MAGIC offset is used. Without an offset for VOD comments, an ID of 0 might fail to set properly, causing wdg->GetName().GetIDHash() in OnCommentBodyButton() to return a massive wrong hash, leading to an std::out_of_range exception when accessing m_commentItems.at().
Could adding a VOD_COMMENT_MAGIC offset be the solution to this crash, or is there a specific reason it was structured this way?
Thanks again for your time!