mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2025-02-26 08:22:31 +00:00
Added a function for determining codec compatibility regarding output format
This commit is contained in:
parent
738ffb5863
commit
047da0ce42
@ -197,11 +197,6 @@ extern int g_split_max_num_files;
|
||||
|
||||
extern append_mode_e g_append_mode;
|
||||
|
||||
enum output_compatibility_e {
|
||||
OC_MATROSKA,
|
||||
OC_WEBMEDIA,
|
||||
};
|
||||
|
||||
extern output_compatibility_e g_output_compatibility;
|
||||
|
||||
void get_file_type(filelist_t &file);
|
||||
|
@ -1107,6 +1107,11 @@ generic_packetizer_c::display_dimensions_or_aspect_ratio_set() {
|
||||
return m_ti.display_dimensions_or_aspect_ratio_set();
|
||||
}
|
||||
|
||||
bool
|
||||
generic_packetizer_c::is_compatible_with(output_compatibility_e compatibility) {
|
||||
return OC_MATROSKA == compatibility;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
#define add_all_requested_track_ids(type, container) \
|
||||
|
@ -180,6 +180,11 @@ enum attach_mode_e {
|
||||
ATTACH_MODE_TO_ALL_FILES,
|
||||
};
|
||||
|
||||
enum output_compatibility_e {
|
||||
OC_MATROSKA,
|
||||
OC_WEBMEDIA,
|
||||
};
|
||||
|
||||
class track_info_c {
|
||||
protected:
|
||||
bool m_initialized;
|
||||
@ -589,6 +594,8 @@ public:
|
||||
virtual void apply_factory_full_queueing(packet_cptr_di &p_start);
|
||||
|
||||
virtual bool display_dimensions_or_aspect_ratio_set();
|
||||
|
||||
virtual bool is_compatible_with(output_compatibility_e compatibility);
|
||||
};
|
||||
|
||||
extern std::vector<generic_packetizer_c *> ptzrs_in_header_order;
|
||||
|
@ -210,3 +210,9 @@ aac_packetizer_c::can_connect_to(generic_packetizer_c *src,
|
||||
|
||||
return CAN_CONNECT_YES;
|
||||
}
|
||||
|
||||
bool
|
||||
aac_packetizer_c::is_compatible_with(output_compatibility_e) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -44,6 +44,7 @@ public:
|
||||
}
|
||||
|
||||
virtual connection_result_e can_connect_to(generic_packetizer_c *src, std::string &error_message);
|
||||
virtual bool is_compatible_with(output_compatibility_e compatibility);
|
||||
|
||||
private:
|
||||
virtual unsigned char *get_aac_packet(unsigned long *header, aac_header_t *aacheader);
|
||||
|
@ -204,3 +204,7 @@ mpeg4_p10_es_video_packetizer_c::can_connect_to(generic_packetizer_c *src,
|
||||
return CAN_CONNECT_YES;
|
||||
}
|
||||
|
||||
bool
|
||||
mpeg4_p10_es_video_packetizer_c::is_compatible_with(output_compatibility_e) {
|
||||
return true;
|
||||
}
|
||||
|
@ -47,6 +47,7 @@ public:
|
||||
|
||||
virtual void connect(generic_packetizer_c *src, int64_t p_append_timecode_offset = -1);
|
||||
virtual connection_result_e can_connect_to(generic_packetizer_c *src, std::string &error_message);
|
||||
virtual bool is_compatible_with(output_compatibility_e compatibility);
|
||||
};
|
||||
|
||||
#endif // __P_AVC_H
|
||||
|
@ -186,3 +186,7 @@ mpeg4_p10_video_packetizer_c::change_nalu_size_len(packet_cptr packet) {
|
||||
packet->data->set_size(dst_pos);
|
||||
}
|
||||
|
||||
bool
|
||||
mpeg4_p10_video_packetizer_c::is_compatible_with(output_compatibility_e) {
|
||||
return true;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ public:
|
||||
virtual void set_headers();
|
||||
|
||||
virtual connection_result_e can_connect_to(generic_packetizer_c *src, std::string &error_message);
|
||||
virtual bool is_compatible_with(output_compatibility_e compatibility);
|
||||
|
||||
protected:
|
||||
virtual void extract_aspect_ratio();
|
||||
|
Loading…
Reference in New Issue
Block a user