Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't work at all #25

Open
jtorjo opened this issue Sep 22, 2021 · 0 comments
Open

Doesn't work at all #25

jtorjo opened this issue Sep 22, 2021 · 0 comments

Comments

@jtorjo
Copy link

jtorjo commented Sep 22, 2021

Hi,

I managed to compile the app and , and when I pass a simple project, nothing happens.

What I was trying to compile was this:

public static single_play_frame get_closest_frame_at_ms(double ms, bool is_prev, int layer_idx) {
    if (!segments.Any(s => s.video_layer_idx == layer_idx && s.contains(ms))) {
        var original_ms = ms;
        List<double> possible_ms = new List<double>();
        foreach (var s in segments.Where(s => s.video_layer_idx == layer_idx)) {
            possible_ms.Add(s.frames.First().project_offset_ms);
            possible_ms.Add(s.frames.Last().project_offset_ms);
        }

        if (possible_ms.Any()) {
            var min_diff = possible_ms.Min(v => Math.Abs(v - ms));
            ms = possible_ms.First(v => Math.Abs(v - ms) == min_diff);
        }
    }

    var exists = segments.Any(s => s.video_layer_idx == layer_idx && s.contains(ms) && s.frames.Any(f => f.is_prev == is_prev));
    if (!exists) {
        // this should never happen, we should ALWAYS FIND a frame
        return null;
    }
    var min = segments.Where(s => s.video_layer_idx == layer_idx && s.contains(ms) && s.frames.Any(f => f.is_prev == is_prev)) 
                                    .Min(s => s.frames.Where(f => f.is_prev == is_prev).Min(f => Math.Abs(f.project_offset_ms - ms)));
    var segment = segments.First(s => s.video_layer_idx == layer_idx && s.contains(ms) && s.frames.Any(f => f.is_prev == is_prev) 
                                         ? s.frames.Where(f => f.is_prev == is_prev).Any(f => Math.Abs(f.project_offset_ms - ms) == min)
                                         : false);
    var frame = segment.frames.Where(f => f.is_prev == is_prev).First(f => Math.Abs(f.project_offset_ms - ms) == min);
    return frame;
}

It remains unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant