Skip to content

CMX 3600 - Framerate mismatch error seems to be giving incorrect "beyond" value #759

@reinecke

Description

@reinecke

When the CMX parser finds an EDL rate mismatch, it reports 0.000000 instead of the rate the parser was using:

$ python3
Python 3.7.7 (default, Mar 10 2020, 15:43:03)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import opentimelineio as otio
>>> otio.adapters.read_from_file("tests/sample_data/25fps.edl")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/adapters/__init__.py", line 144, in read_from_file
    **adapter_argument_map
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/adapters/adapter.py", line 133, in read_from_file
    **adapter_argument_map
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/plugins/python_plugin.py", line 174, in _execute_function
    return (getattr(self.module(), func_name)(**kwargs))
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/adapters/cmx_3600.py", line 756, in read_from_string
    ignore_timecode_mismatch=ignore_timecode_mismatch
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/adapters/cmx_3600.py", line 108, in __init__
    self.parse_edl(edl_string, rate=rate)
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/adapters/cmx_3600.py", line 348, in parse_edl
    self.add_clip(line, comments, rate=rate)
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/adapters/cmx_3600.py", line 114, in add_clip
    clip_handler = ClipHandler(line, comment_handler.handled, rate=rate)
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/adapters/cmx_3600.py", line 375, in __init__
    self.clip = self.make_clip(comment_data)
  File "/Users/reinecke/envs/otiotest/lib/python3.7/site-packages/opentimelineio/adapters/cmx_3600.py", line 504, in make_clip
    opentime.from_timecode(self.source_tc_out, self.edl_rate)
ValueError: Frame rate mismatch.  Timecode '01:00:01:24' has frames beyond 0.000000

This also applies when giving a specific rate as an adapter argument.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA problem, flaw, or broken functionality.good first issueIf you're looking for a way to contribute, but not sure where to start. This is a good first issue.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions