From ae4617d74ceb6fcff4f2e3423d5bfa843f5859c2 Mon Sep 17 00:00:00 2001
From: Gary Katsevman <git@gkatsev.com>
Date: Tue, 19 Apr 2016 17:26:26 -0400
Subject: [PATCH] @gkatsev grouped text track errors in the console, if we can.
 closes #3259

---
 CHANGELOG.md                |  2 +-
 src/js/tracks/text-track.js | 13 ++++++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 11faac11a..2a65c0e27 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@ CHANGELOG
 =========
 
 ## HEAD (Unreleased)
-_(none)_
+* @gkatsev grouped text track errors in the console, if we can ([view](https://github.com/videojs/video.js/pull/3259))
 
 --------------------
 
diff --git a/src/js/tracks/text-track.js b/src/js/tracks/text-track.js
index 1b510dc60..9e914522d 100644
--- a/src/js/tracks/text-track.js
+++ b/src/js/tracks/text-track.js
@@ -23,13 +23,14 @@ const parseCues = function(srcContent, track) {
   let parser = new window.WebVTT.Parser(window,
                                         window.vttjs,
                                         window.WebVTT.StringDecoder());
+  let errors = [];
 
   parser.oncue = function(cue) {
     track.addCue(cue);
   };
 
   parser.onparsingerror = function(error) {
-    log.error(error);
+    errors.push(error);
   };
 
   parser.onflush = function() {
@@ -40,6 +41,16 @@ const parseCues = function(srcContent, track) {
   };
 
   parser.parse(srcContent);
+  if (errors.length > 0) {
+    if (console.groupCollapsed) {
+      console.groupCollapsed(`Text Track parsing errors for ${track.src}`);
+    }
+    errors.forEach((error) => log.error(error));
+    if (console.groupEnd) {
+      console.groupEnd();
+    }
+  }
+
   parser.flush();
 };