code: def check_probe_result(self, result, config):
      (
          vtimebase,
          vfps,
          vduration,
          atimebase,
          asample_rate,
          aduration,
      ) = result
      video_duration = vduration.item() * Fraction(
          vtimebase[0].item(), vtimebase[1].item()
      )
      assert video_duration == approx(config.duration, abs=0.5)
      assert vfps.item() == approx(config.video_fps, abs=0.5)
      if asample_rate.numel() > 0:
          assert asample_rate.item() == config.audio_sample_rate
          audio_duration = aduration.item() * Fraction(
              atimebase[0].item(), atimebase[1].item()
          )
          assert audio_duration == approx(config.duration, abs=0.5)
  
imports: import collections
  import math
  import os
  from fractions import Fraction
  import numpy
  import pytest
  import torch
  import torchvision.io
  from common_utils import assert_equal
  from numpy.random import randint
  from pytest import approx
  from torchvision import set_video_backend
  from torchvision.io import _HAS_VIDEO_OPT
label_desc: Use image node_id 2 for calling the TestVideoReader obj's underlying member method code with example usage: obj.check_probe_result(result, config) without return types