MEDIA_ERR_DECODE

32 views
Skip to first unread message

Joel

unread,
Jun 25, 2015, 4:01:44 PM6/25/15
to das...@googlegroups.com
I'm testing out a new Dash content and am getting a MEDIA_ERR_DECODE error and playback never starts. It appears that Dash is happy in that it has no issues reading through the manifest.  Also running the MPD file through the Dash Validator passes the MPD validation but the content validation spins forever.

Running chrome://media-internals, I do see an append error when reading the blobs.  Has anyone seen this error before 

        error: Append: stream parsing failed. Data size=24529 append_window_start=0 append_window_end=inf

and know what implies?

The dash console log and the media-internals are listed below.


dash.all.js:12103 MediaSource is open! 
dash.all.js:12103 [object Event] 
dash.all.js:12103 Duration successfully set to: 8196.731 
dash.all.js:12103 Added 0 inline events 
dash.all.js:12103 video codec: video/mp4;codecs="avc1.4d4020" 
dash.all.js:12103 [video] stop 
dash.all.js:12103 audio codec: audio/mp4;codecs="mp4a.40.5" 
dash.all.js:12103 [audio] stop 
dash.all.js:12103 No text data. 
dash.all.js:12103 No fragmentedText data. 
dash.all.js:12103 Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines 

dash.all.js:12103 [video] start 
dash.all.js:12103 [video] Getting the request for time: 0 
dash.all.js:12103 [video] Index for time 0 is 0 
dash.all.js:12103 [video] SegmentTimeline: 0 / 8196.731 
dash.all.js:12103 [audio] start 
dash.all.js:12103 [audio] Getting the request for time: 0 
dash.all.js:12103 [audio] Index for time 0 is 0 
dash.all.js:12103 [audio] SegmentTimeline: 0 / 8196.731 
dash.all.js:12103 loaded video:Initialization Segment:NaN (200, 0ms, 313ms) 
dash.all.js:12103 [video] Initialization finished loading 
dash.all.js:12103 loaded audio:Initialization Segment:NaN (200, 0ms, 316ms) 
dash.all.js:12103 [audio] Initialization finished loading 
dash.all.js:12103 [video] Getting the request for time: 2.002 
dash.all.js:12103 [video] Index for time 2.002 is 0 
dash.all.js:12103 [video] SegmentTimeline: 0 / 8196.731 
dash.all.js:12103 [video] SegmentTimeline: 2.002 / 8196.731 
dash.all.js:12103 [video] Stalling Buffer 
dash.all.js:12103 [video] Waiting for more buffer before starting playback. 
dash.all.js:12103 [audio] Getting the request for time: 2.005333333333333 
dash.all.js:12103 [audio] Index for time 2.005333333333333 is 0 
dash.all.js:12103 [audio] SegmentTimeline: 0 / 8196.731 
dash.all.js:12103 [audio] Waiting for more buffer before starting playback. 
dash.all.js:12103 <video> loadedmetadata 
dash.all.js:12103 Starting playback at offset: 0 
dash.all.js:12103 <video> play 
dash.all.js:12103 [video] start 
dash.all.js:12103 [audio] start 
dash.all.js:12103 loaded audio:Media Segment:0 (200, 147ms, 3ms) 
dash.all.js:12103 [audio] Getting the request for time: 4.010666666666666 
dash.all.js:12103 [audio] Index for time 4.010666666666666 is 1 
dash.all.js:12103 [audio] SegmentTimeline: 2.005333333333333 / 8196.731 
dash.all.js:12103 [audio] SegmentTimeline: 4.010666666666666 / 8196.731 

dash.all.js:12103 Video Element Error: MEDIA_ERR_DECODE 

dash.all.js:12103 undefined 
dash.all.js:12103 [video] stop 
dash.all.js:12103 [audio] stop 

dash.all.js:12103 Video Element Error: MEDIA_ERR_SRC_NOT_SUPPORTED 
dash.all.js:12103 undefined 


render_id: 9
player_id: 4
pipeline_state: kStopped
EVENT: PIPELINE_DESTROYED
url: blob:http%3A//localhost%3A3000/ae17e273-8138-4322-895e-ac2cbbe67f53
duration: 8196.731
debug: Skipping unrecognized top-level box: ftyp
info: Audio codec: mp4a.40.2
found_video_stream: true
video_codec_name: h264
found_audio_stream: true
audio_codec_name: aac
audio_dds: false
audio_decoder: FFmpegAudioDecoder
video_dds: false
video_decoder: GpuVideoDecoder
error: Append: stream parsing failed. Data size=24529 append_window_start=0 append_window_end=inf
pipeline_error: pipeline: decode error

Joel

unread,
Jun 25, 2015, 4:12:46 PM6/25/15
to das...@googlegroups.com
Also, if using IE on Win 8.1, a similar error occurs but it also logs

MEDIA12899: AUDIO/VIDEO: Unknown MIME type.


Law, Will

unread,
Jun 25, 2015, 6:40:18 PM6/25/15
to Joel, das...@googlegroups.com
@Joel - It seems the pertinent error is this one:

dash.all.js:12103 Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines 

Is your content muxed? If you demux when you package (i.e. separate audio and video adaption sets) does it play fine?

Cheers

Will


From: DASH JS Google Groups <das...@googlegroups.com> on behalf of Joel <js...@tripleplayint.com>
Date: Thursday, June 25, 2015 at 1:01 PM
To: DASH JS Google Groups <das...@googlegroups.com>
Subject: [dash.js 1175] MEDIA_ERR_DECODE

I'm testing out a new Dash content and am getting a MEDIA_ERR_DECODE error and playback never starts. It appears that Dash is happy in that it has no issues reading through the manifest.  Also running the MPD file through the Dash Validator passes the MPD validation but the content validation spins forever.

Running chrome://media-internals, I do see an append error when reading the blobs.  Has anyone seen this error before 

        error: Append: stream parsing failed. Data size=24529 append_window_start=0 append_window_end=inf

and know what implies?

The dash console log and the media-internals are listed below.


dash.all.js:12103 MediaSource is open! 
dash.all.js:12103 [object Event] 
dash.all.js:12103 Duration successfully set to: 8196.731 
dash.all.js:12103 Added 0 inline events 
dash.all.js:12103 video codec: video/mp4;codecs="avc1.4d4020" 
dash.all.js:12103 [video] stop 
dash.all.js:12103 audio codec: audio/mp4;codecs="mp4a.40.5" 
dash.all.js:12103 [audio] stop 
dash.all.js:12103 No text data. 
dash.all.js:12103 No fragmentedText data. 
It s

--
You received this message because you are subscribed to the Google Groups "dash.js" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dashjs+un...@googlegroups.com.
To post to this group, send email to das...@googlegroups.com.
Visit this group at http://groups.google.com/group/dashjs.
For more options, visit https://groups.google.com/d/optout.
Message has been deleted

Joel

unread,
Jun 25, 2015, 10:36:01 PM6/25/15
to das...@googlegroups.com
Hello Will,

To be more explicit (and now that I can copy/paste more easily).  I am running off the current top of tree of the develop branch of dash.js.

A recent commit (commit dd894338be2040a96752e7c96a867284809f8475) merged pull request #591 (Provides a meaningful error for multiplexed mpd's.)

Two of the changes were in streaming/Stream.js.

initializeMedia is calling initializeMediaForType() for every type including "muxed".

when initializeMediaForType() is called with type="muxed", it displays the "Multiplexed representation" warning message.

This is happening for EVERY content listed in the Dash.js Test page, which is why I believe the message is benign (in this case), along with the manifest does not have multiplexed representations.

The snippets of code from Stream.js is listed below.

I would still be interested in knowing what might be causing the following Append error listed in Chrome's media-internals log.

error: Append: stream parsing failed. Data size=24529 append_window_start=0 append_window_end=inf

I have seen others mention a similar problem but then the message trails I have found never seem to be resolved.



initializeMedia = function (mediaSource) {
    var self = this,
        manifest = self.manifestModel.getValue(),
        events;

    eventController = self.system.getObject("eventController");
    events = self.adapter.getEventsFor(manifest, streamInfo);
    eventController.addInlineEvents(events);

    isUpdating = true;
    initializeMediaForType.call(self, "video", mediaSource);
    initializeMediaForType.call(self, "audio", mediaSource);
    initializeMediaForType.call(self, "text", mediaSource);
    initializeMediaForType.call(self, "fragmentedText", mediaSource);
    initializeMediaForType.call(self, "muxed", mediaSource);


.....



initializeMediaForType = function(type, mediaSource) {
    var self = this,
        mimeType = null,
        manifest = self.manifestModel.getValue(),
        codec,
        msg,
        getCodecOrMimeType = function(mediaInfo) {
            return mediaInfo.codec;
        },
        streamProcessor,
        mediaInfo = self.adapter.getMediaInfoForType(manifest, streamInfo, type);

    if (type === "text") {
        getCodecOrMimeType = function(mediaInfo) {
            mimeType = mediaInfo.mimeType;

            return mimeType;
        };
    } else if (type === "muxed") {
        msg = "Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines";
        this.log(msg);
        this.errHandler.manifestError(msg, "multiplexedrep", this.manifestModel.getValue());
        return;
    }


Thanks!

Mikhail Kozhin

unread,
Jun 26, 2015, 2:13:29 AM6/26/15
to Joel, Law, Will (wilaw@akamai.com), das...@googlegroups.com

Hi Will, Joel,

 

A warning about muxed representation is my fault. I incorrectly implemented detection of muxed representation. It is fixed now. Sorry for confusing you guys.

 

Thanks,

Michael

--

Joel

unread,
Jun 26, 2015, 6:02:25 AM6/26/15
to das...@googlegroups.com, wi...@akamai.com, js...@tripleplayint.com
Thanks Michael.  That change corrected the erroneous message.

j.
Reply all
Reply to author
Forward
0 new messages