- 'url': [b['audio'] for b in cast_data['blings'] if b['type'] == 'BlingAudio'][0],
- 'title': cast_data['name'],
- 'description': cast_data.get('description'),
- 'thumbnail': cast_data.get('image'),
- 'timestamp': parse_iso8601(cast_data.get('publishingDate')),
- 'duration': int_or_none(cast_data.get('duration')),
+ 'url': media_url,
+ 'title': title,
+ 'description': e.get('description') or e.get('summary'),
+ 'thumbnail': e.get('image'),
+ 'timestamp': unified_timestamp(e.get('publishingDate')),
+ 'duration': float_or_none(s.get('duration') or e.get('duration')),
+ 'filesize': int_or_none(e.get('contentLength')),
+ 'creator': try_get(cast_data, lambda x: x['show']['author'], compat_str),
+ 'series': try_get(cast_data, lambda x: x['show']['name'], compat_str),
+ 'season_number': int_or_none(e.get('seasonNumber')),
+ 'episode': title,
+ 'episode_number': int_or_none(e.get('episodeNumber')),