正在显示
4 个修改的文件
包含
9 行增加
和
4 行删除
| @@ -361,8 +361,9 @@ int CAudioDecoder::get_one_frame(AVFrame ** pFrame, int64_t & ts) | @@ -361,8 +361,9 @@ int CAudioDecoder::get_one_frame(AVFrame ** pFrame, int64_t & ts) | ||
| 361 | &got_frame, &packet); | 361 | &got_frame, &packet); |
| 362 | if (ret < 0) { | 362 | if (ret < 0) { |
| 363 | av_frame_free(&frame); | 363 | av_frame_free(&frame); |
| 364 | + av_packet_unref(&packet); | ||
| 364 | av_log(NULL, AV_LOG_ERROR, "Decoding failed\n"); | 365 | av_log(NULL, AV_LOG_ERROR, "Decoding failed\n"); |
| 365 | - break; | 366 | + continue; |
| 366 | } | 367 | } |
| 367 | 368 | ||
| 368 | if (got_frame) { | 369 | if (got_frame) { |
| @@ -119,4 +119,7 @@ V2.0.13 | @@ -119,4 +119,7 @@ V2.0.13 | ||
| 119 | 2.命令行增加可选参数-k {0|1},控制一对多时合成的视频是否保持4:3宽高比 | 119 | 2.命令行增加可选参数-k {0|1},控制一对多时合成的视频是否保持4:3宽高比 |
| 120 | 120 | ||
| 121 | V2.0.14 | 121 | V2.0.14 |
| 122 | -1.命令行增加可选参数-v {1|0},在所有输入媒体文件里,没有视频文件时,使用-v 1 参数合成的mp4文件仍然包含视频,-v 0则不含视频 | ||
| 122 | +1.命令行增加可选参数-v {1|0},在所有输入媒体文件里,没有视频文件时,使用-v 1 参数合成的mp4文件仍然包含视频,-v 0则不含视频 | ||
| 123 | + | ||
| 124 | +V2.0.15 | ||
| 125 | +1.修改bug: 解码视频文件时,遇到解码错误,直接退出了解码。现改为继续解码后续数据。 |
| @@ -382,8 +382,9 @@ int CVideoDecoder::get_one_frame(AVFrame ** pFrame, int64_t & ts) | @@ -382,8 +382,9 @@ int CVideoDecoder::get_one_frame(AVFrame ** pFrame, int64_t & ts) | ||
| 382 | &got_frame, &packet); | 382 | &got_frame, &packet); |
| 383 | if (ret < 0) { | 383 | if (ret < 0) { |
| 384 | av_frame_free(&frame); | 384 | av_frame_free(&frame); |
| 385 | + av_packet_unref(&packet); | ||
| 385 | av_log(NULL, AV_LOG_ERROR, "Decoding failed\n"); | 386 | av_log(NULL, AV_LOG_ERROR, "Decoding failed\n"); |
| 386 | - break; | 387 | + continue; |
| 387 | } | 388 | } |
| 388 | 389 | ||
| 389 | if (got_frame) { | 390 | if (got_frame) { |
| @@ -1303,7 +1303,7 @@ int process_av_files(char * record_info, int piptype, bool one2one_same_size, in | @@ -1303,7 +1303,7 @@ int process_av_files(char * record_info, int piptype, bool one2one_same_size, in | ||
| 1303 | int main(int argc, char * argv[]) | 1303 | int main(int argc, char * argv[]) |
| 1304 | { | 1304 | { |
| 1305 | if (argc < 2) { | 1305 | if (argc < 2) { |
| 1306 | - printf(" merge_pip 2.0.14\n"); | 1306 | + printf(" merge_pip 2.0.15\n"); |
| 1307 | printf(" merge video files to one pip video according to record info file,\nusage:"); | 1307 | printf(" merge video files to one pip video according to record info file,\nusage:"); |
| 1308 | printf("\n %s record_info_filename [-t {0,1,2,3}] [-c codec.cfg] [-s {1,0}] [-r {0,1}] [-k {0,1}] [-v {1,0}]", argv[0]); | 1308 | printf("\n %s record_info_filename [-t {0,1,2,3}] [-c codec.cfg] [-s {1,0}] [-r {0,1}] [-k {0,1}] [-v {1,0}]", argv[0]); |
| 1309 | printf("\n\n"); | 1309 | printf("\n\n"); |
-
请 注册 或 登录 后发表评论