diff --git a/pandora/item/models.py b/pandora/item/models.py
index d42e3efe7..025a6e4a9 100644
--- a/pandora/item/models.py
+++ b/pandora/item/models.py
@@ -1569,15 +1569,18 @@ class Item(models.Model):
for data in s.srt(offset):
subtitles_added = True
value = data['value'].replace('\n', '
\n').replace('
\n', '
\n')
- annotation = Annotation(
- item=self,
- layer=layer,
- start=float('%0.03f'%data['in']),
- end=float('%0.03f'%data['out']),
- value=value,
- user=user
- )
- annotation.save()
+ if data['in'] < self.json['duration'] and data['out'] > self.json['duration']:
+ data['out'] = self.json['duration']
+ if data['in'] < self.json['duration']:
+ annotation = Annotation(
+ item=self,
+ layer=layer,
+ start=float('%0.03f'%data['in']),
+ end=float('%0.03f'%data['out']),
+ value=value,
+ user=user
+ )
+ annotation.save()
#otherwise add empty 5 seconds annotation every minute
if not subtitles_added:
start = offset and int (offset / 60) * 60 + 60 or 0