     }
     
     func initVideoCell(indexPath: NSIndexPath) -> VideoTableViewCell {
-        return videoTable.dequeueReusableCellWithIdentifier(
+        let cell = videoTable.dequeueReusableCellWithIdentifier(
             cellName, forIndexPath: indexPath) as! VideoTableViewCell
+        if indexPath.row != ChannelModel.sharedInstance.currentIndex {
+            cell.removeAllIndicator()
+        } else {
+            cell.addPlayingIndicator()
+            videoPlayer.playerState() == YTPlayerState.Playing ? cell.startPlayingAnimation() : cell.stopPlayingAnimation()
+        }
+        return cell
     }
     
     func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    // Called within an animation block when the dragging view is about to show.
    func tableView(tableView: UITableView, showDraggingView view: UIView, atIndexPath indexPath: NSIndexPath) {
        ChannelModel.sharedInstance.updatingAvailable = false
    }
    
    // Called within an animation block when the dragging view is about to hide.
    func tableView(tableView: UITableView, hideDraggingView view: UIView, atIndexPath indexPath: NSIndexPath) {
        ChannelModel.sharedInstance.updatingAvailable = true
    }
    
    // MARK: -

        if let cell = videoTable.cellForRowAtIndexPath(path) as? VideoTableViewCell {
            cell.addPlayingIndicator()
        } else {
            print("\(__FUNCTION__) No cell index[\(targetIndex)]")
        }
    }
    
    private func removeIndicator(targetIndex: Int) {
        print("\(__FUNCTION__): targetIndex[\(targetIndex)]")
        let path = NSIndexPath.init(forRow: targetIndex, inSection: 0)
        if let cell = videoTable.cellForRowAtIndexPath(path) as? VideoTableViewCell {
            cell.removeAllIndicator()
        } else {
            print("\(__FUNCTION__) No cell index[\(targetIndex)]")
        }
    }
    
