code: def test_seek_start(self, test_video, backend):
      torchvision.set_video_backend(backend)
      full_path = os.path.join(VIDEO_DIR, test_video)
      video_reader = VideoReader(full_path, "video")
      num_frames = 0
      for _ in video_reader:
          num_frames += 1
  
      # now seek the container to 0 and do it again
      # It's often that starting seek can be inprecise
      # this way and it doesn't start at 0
      video_reader.seek(0)
      start_num_frames = 0
      for _ in video_reader:
          start_num_frames += 1
  
      assert start_num_frames == num_frames
  
      # now seek the container to < 0 to check for unexpected behaviour
      video_reader.seek(-1)
      start_num_frames = 0
      for _ in video_reader:
          start_num_frames += 1
  
      assert start_num_frames == num_frames
  
file_path: vision/test/test_videoapi.py
imports: import collections
  import os
  import urllib
  import pytest
  import torch
  import torchvision
  from pytest import approx
  from torchvision.datasets.utils import download_url
  from torchvision.io import _HAS_VIDEO_OPT, VideoReader
label_desc: Use image node_id 4 for calling the TestVideoApi obj's underlying member method code with example usage: obj.test_seek_start(test_video, backend) without return types