-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix #2690, if the audio package is found to be empty, do not send decoding to avoid prematurely ending the decoding context. #2757
Conversation
Codecov Report
@@ Coverage Diff @@
## 4.0release #2757 +/- ##
==============================================
- Coverage 60.11% 60.11% -0.01%
==============================================
Files 121 121
Lines 50896 50898 +2
==============================================
Hits 30597 30597
- Misses 20299 20301 +2 | Impacted Files | Coverage Δ | |' Translated to English while maintaining the markdown structure: '| Impacted Files | Coverage Δ | | Continue to review full report at Codecov.
'>
|
trunk/src/app/srs_app_rtc_codec.cpp
Outdated
|
||
if (dec_packet_->data == NULL || dec_packet_->size == 0){ | ||
return srs_error_new(ERROR_RTC_INVALID_PARAMS, | ||
"dec_pakcet is invalide(%p,%d)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add the member dec_packet? Specifically, which variable is illegal?
TRANS_BY_GPT3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okay
TRANS_BY_GPT3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 If it is possible to obtain the illegal variable, please check how to retrieve it using the error code INVALID PARAMS. This way, we can clearly identify which parameter is incorrect when encountering a failure.
TRANS_BY_GPT3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dec_packet_->data and dec_packet_->size being either Null or 0 will cause the decoder to reach the end of stream (eos), so here we have made a simple judgment. If this situation occurs, we will skip inputting this packet. In the webrtc scenario, it is possible to receive audio packets with empty content in certain situations. It mainly depends on the client of the other party. After we skip the processing, we can be compatible with this situation.
In general, dec_packet_->data being NULL and dec_packet_->size being 0 will occur simultaneously.
TRANS_BY_GPT3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to your logic, it is better to ignore an empty package rather than returning an error.
I have changed it to directly return success. Please test if it is feasible: link
TRANS_BY_GPT3
* fix ossrs#2690, 如果发现音频包为空,则不送解码,以免提前结束了解码上下文 * fix ossrs#2690,出错信息中,显示相关参数名称 Co-authored-by: jiankai <wangjiankai@cmhi.chinamobile.com>
fix #2690, if the audio package is found to be empty, do not send decoding to avoid prematurely ending the decoding context.
TRANS_BY_GPT3