|
18 | 18 | #include "dvd_subtitle_decoder.h"
|
19 | 19 | #include "ccx_demuxer_mxf.h"
|
20 | 20 |
|
| 21 | +#ifndef DISABLE_RUST |
| 22 | +extern void ccxr_dtvcc_set_encoder(void *dtvcc_rust, void *encoder); |
| 23 | +#endif |
| 24 | + |
21 | 25 | int end_of_file = 0; // End of file?
|
22 | 26 |
|
23 | 27 | // Program stream specific data grabber
|
@@ -897,6 +901,9 @@ int process_non_multiprogram_general_loop(struct lib_ccx_ctx *ctx,
|
897 | 901 | *enc_ctx = update_encoder_list_cinfo(ctx, cinfo);
|
898 | 902 | *dec_ctx = update_decoder_list_cinfo(ctx, cinfo);
|
899 | 903 | (*dec_ctx)->dtvcc->encoder = (void *)(*enc_ctx);
|
| 904 | +#ifndef DISABLE_RUST |
| 905 | + ccxr_dtvcc_set_encoder((*dec_ctx)->dtvcc_rust, *enc_ctx); |
| 906 | +#endif |
900 | 907 |
|
901 | 908 | if ((*dec_ctx)->timing->min_pts == 0x01FFFFFFFFLL) // if we didn't set the min_pts of the program
|
902 | 909 | {
|
@@ -1094,6 +1101,9 @@ int general_loop(struct lib_ccx_ctx *ctx)
|
1094 | 1101 | enc_ctx = update_encoder_list_cinfo(ctx, cinfo);
|
1095 | 1102 | dec_ctx = update_decoder_list_cinfo(ctx, cinfo);
|
1096 | 1103 | dec_ctx->dtvcc->encoder = (void *)enc_ctx; // WARN: otherwise cea-708 will not work
|
| 1104 | +#ifndef DISABLE_RUST |
| 1105 | + ccxr_dtvcc_set_encoder(dec_ctx->dtvcc_rust, (void *)enc_ctx); |
| 1106 | +#endif |
1097 | 1107 |
|
1098 | 1108 | if (dec_ctx->timing->min_pts == 0x01FFFFFFFFLL) // if we didn't set the min_pts of the program
|
1099 | 1109 | {
|
@@ -1269,6 +1279,9 @@ int rcwt_loop(struct lib_ccx_ctx *ctx)
|
1269 | 1279 |
|
1270 | 1280 | dec_ctx = update_decoder_list(ctx);
|
1271 | 1281 | dec_ctx->dtvcc->encoder = (void *)enc_ctx; // WARN: otherwise cea-708 will not work
|
| 1282 | +#ifndef DISABLE_RUST |
| 1283 | + ccxr_dtvcc_set_encoder(dec_ctx->dtvcc_rust, (void *)enc_ctx); |
| 1284 | +#endif |
1272 | 1285 | if (parsebuf[6] == 0 && parsebuf[7] == 2)
|
1273 | 1286 | {
|
1274 | 1287 | dec_ctx->codec = CCX_CODEC_TELETEXT;
|
|
0 commit comments