def METHOD_NAME(self, video_path, general_track, video_tracks, audio_tracks, subtitle_tracks, context):
    logger.debug('Handling general track')
    props = self._describe_track(general_track, 'general', context)
    if 'path' not in props:
        props['path'] = video_path
    if 'container' not in props:
        props['container'] = os.path.splitext(video_path)[1][1:]
    if 'size' not in props and os.path.isfile(video_path):
        props['size'] = size_property.handle(os.path.getsize(video_path), context)
    for track_type, tracks, in (('video', video_tracks),
                                ('audio', audio_tracks),
                                ('subtitle', subtitle_tracks)):
        results = []
        for track in tracks or []:
            logger.debug('Handling %s track', track_type)
            t = self._validate_track(track_type, self._describe_track(track, track_type, context))
            if t:
                results.append(t)
        if results:
            props[track_type] = results
    return props