- #virtual sink logic
- if self.get_parent().get_key() == 'virtual_sink':
- if self.get_enabled_connections(): #clone type and vlen
- source = self.get_enabled_connections()[0].get_source()
+ if self.get_parent().get_key() in ('virtual_sink', 'virtual_source'):
+ try:
+ if self.get_parent().get_key() == 'virtual_sink':
+ source = self.get_enabled_connections()[0].get_source()
+ if self.get_parent().get_key() == 'virtual_source':
+ source = filter(
+ lambda vs: vs.get_param('stream_id').get_value() == self.get_parent().get_param('stream_id').get_value(),
+ filter(
+ lambda b: b.get_key() == 'virtual_sink',
+ self.get_parent().get_parent().get_enabled_blocks(),
+ ),
+ )[0].get_sink('0').get_enabled_connections()[0].get_source()
+ #clone type and vlen