A filter with a end time set is saved into .mlt file correctly (filter 1,3,4 here):
<filter id="filter1" out="00:00:10.000">
<property name="shotcut:filter">affineSizePosition</property>
</filter>
<filter id="filter2" in="00:00:10.000" out="00:00:20.040">
<property name="shotcut:filter">affineSizePosition</property>
</filter>
<filter id="filter3" out="00:00:10.000">
<property name="mlt_service">avfilter.hflip</property>
</filter>
<filter id="filter4" out="00:00:10.000">
<property name="shotcut:filter">affineSizePosition</property>
</filter>
After opening the .mlt file again, the filters are created as if the end time was not set at all. A new save updates the file with end time of the filtered entity:
<filter id="filter1" out="00:00:20.320">
<property name="shotcut:filter">affineSizePosition</property>
</filter>
<filter id="filter2" in="00:00:10.000" out="00:00:20.040">
<property name="shotcut:filter">affineSizePosition</property>
</filter>
<filter id="filter3" out="00:00:20.320">
<property name="mlt_service">avfilter.hflip</property>
</filter>
<filter id="filter4" out="00:00:20.320">
<property name="shotcut:filter">affineSizePosition</property>
</filter>
Workaround: Issue does not happen when filter starts from the second frame. Adding in=“00:00:00.000” does not help.