GithubHelp home page GithubHelp logo

Comments (5)

NiKoTron avatar NiKoTron commented on May 31, 2024

Thanx for the report I'll investigate it. and add the possibility to catch errors.

from dart-tags.

plyoung avatar plyoung commented on May 31, 2024

I've just encountered something similar, where I can not handle the error in my code, with a NoSuchMethodError exception in id3v2.dart.

frame, in the code below could be null it seems.

final frame = ff.getFrame(fr);
final m = frame.decode(fr);
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      ID3V2Reader.parseValues
package:dart_tags/…/readers/id3v2.dart:71
#2      Reader.read.<anonymous closure>
package:dart_tags/…/readers/reader.dart:13
#3      _rootRunUnary (dart:async/zone.dart:1194:47)
#4      _CustomZone.runUnary (dart:async/zone.dart:1097:19)
#5      _FutureListener.handleValue (dart:async/future_impl.dart:150:18)
#6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:703:45)
#7      Future._propagateToListeners (dart:async/future_impl.dart:732:32)
#8      Future._addListener.<anonymous closure> (dart:async/future_impl.dart:400:9)
#9      _rootRun (dart:async/zone.dart:1186:13)
#10     _CustomZone.run (dart:async/zone.dart:1090:19)
#11     _CustomZone.runGuarded (dart:async/zone.dart:994:7)
#12     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1034:23)
#13     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#14     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)

from dart-tags.

plyoung avatar plyoung commented on May 31, 2024

Another problem I found is that tags might be broken. In the one case the tag name was the actual description and that caused an error too. I wrapped that block at line 71 in a try/catch and it seems to now get through without problems.

      final frame = ff.getFrame(fr);
      final m = frame?.decode(fr);

      try {
        if (m?.key != null && m?.value != null) {
          if (m?.value is KeyEntity) {
            if (tags[m.key] == null) {
              tags[m.key] = {m.value.key: m.value};
            } else {
              tags[m.key][m.value.key] = m.value;
            }
          } else {
            tags[m.key] = m.value;
          }
        }
      } catch (ex) {}

from dart-tags.

moritz-weber avatar moritz-weber commented on May 31, 2024

I encounter the same error as moda20 in a specific scenario in src/frames/id3v2/comm_frame.dart decodeBody:

  • enc is not UTF16
  • first 4 bytes of the frame are 0x00
  • therefore splitIndex is 0
    => sublist(3, splitIndex) crashes

My guess is that data.indexOf(0x00) would need the start parameter set to 3.
Is there any chance that this will be fixed? I could send you the mp3 file for debugging.

from dart-tags.

luccasmaso avatar luccasmaso commented on May 31, 2024

Same here as all of you. Also cannot catch any exceptions

from dart-tags.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.