int es_info_print(elementary_stream_info_t *es, int level, char *str, size_t str_len) { if (es == NULL || str == NULL || str_len < 2 || tslib_loglevel < TSLIB_LOG_LEVEL_INFO) return 0; int bytes = 0; bytes += SKIT_LOG_UINT_VERBOSE(str + bytes, level, es->stream_type, stream_desc(es->stream_type), str_len - bytes); bytes += SKIT_LOG_UINT_HEX(str + bytes, level, es->elementary_PID, str_len - bytes); bytes += SKIT_LOG_UINT(str + bytes, level, es->ES_info_length, str_len - bytes); bytes += print_descriptor_loop(es->descriptors, level + 1, str + bytes, str_len - bytes); return bytes; }
int language_descriptor_print(const descriptor_t *desc, int level, char* str, size_t str_len) { int bytes = 0; if (desc == NULL) return 0; if (desc->tag != ISO_639_LANGUAGE_DESCRIPTOR) return 0; language_descriptor_t *ld = (language_descriptor_t*) desc; bytes += SKIT_LOG_UINT_VERBOSE( str + bytes, level, desc->tag, "ISO_639_language_descriptor", str_len - bytes ); bytes += SKIT_LOG_UINT( str + bytes, level, desc->length, str_len - bytes); if (ld->_num_languages > 0) { for (int i = 0; i < ld->_num_languages; i++) { bytes += SKIT_LOG_STR( str + bytes, level, ld->languages[i].ISO_639_language_code, str_len - bytes); bytes += SKIT_LOG_UINT( str + bytes, level, ld->languages[i].audio_type, str_len - bytes); } } return bytes; }