// Check which encoder to use
if (!audio_enc_pad.is_linked () &&
- MP3Transcoder.pads_compatible (new_pad, audio_enc_pad)) {
+ this.pads_compatible (new_pad, audio_enc_pad)) {
encoder = this.audio_enc;
enc_pad = audio_enc_pad;
} else if (!video_enc_pad.is_linked () &&
- MP3Transcoder.pads_compatible (new_pad, video_enc_pad)) {
+ this.pads_compatible (new_pad, video_enc_pad)) {
encoder = this.video_enc;
enc_pad = video_enc_pad;
} else {
return bin;
}
+ private bool pads_compatible (Pad pad1, Pad pad2) {
+ Caps intersection = pad1.get_caps ().intersect (pad2.get_caps ());
+
+ return !intersection.is_empty ();
+ }
+
private void post_error (Error error) {
Message msg = new Message.error (this, error, error.message);
this.post_message (msg);
private void decodebin_pad_added (Element decodebin,
Pad new_pad) {
Pad enc_pad = this.audio_enc.get_pad (AUDIO_SINK_PAD);
- if (enc_pad.is_linked () ||
- !MP3Transcoder.pads_compatible (new_pad, enc_pad)) {
+ if (enc_pad.is_linked () || !this.pads_compatible (new_pad, enc_pad)) {
return;
}
return bin;
}
- internal static bool pads_compatible (Pad pad1, Pad pad2) {
+ private bool pads_compatible (Pad pad1, Pad pad2) {
Caps intersection = pad1.get_caps ().intersect (pad2.get_caps ());
return !intersection.is_empty ();