WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
24638
[GTK] HTML5 media tags do not work
https://bugs.webkit.org/show_bug.cgi?id=24638
Summary
[GTK] HTML5 media tags do not work
Gustavo Noronha (kov)
Reported
2009-03-16 21:23:14 PDT
If you visit the URI I added to the bug report you'll notice that the video doesn't play. There are two main problems, really: 1) MediaPlayerPrivate::duration is returning 0 because gst_element_query_duration returns true even though it isn't able to figure out the duration in time format. 2) Nothing calls MediaPlayerPrivate::repaint when the sink draws the frame in the surface, so the video only gets updated when expose events or other conditions force the repaint
Attachments
fix for duration
(3.17 KB, patch)
2009-03-16 22:37 PDT
,
Gustavo Noronha (kov)
no flags
Details
Formatted Diff
Diff
fix repainting
(5.73 KB, patch)
2009-03-16 22:37 PDT
,
Gustavo Noronha (kov)
no flags
Details
Formatted Diff
Diff
fix buffering
(2.27 KB, patch)
2009-03-16 22:38 PDT
,
Gustavo Noronha (kov)
no flags
Details
Formatted Diff
Diff
enable passing tests
(2.35 KB, patch)
2009-03-16 22:39 PDT
,
Gustavo Noronha (kov)
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Gustavo Noronha (kov)
Comment 1
2009-03-16 22:24:59 PDT
3) When buffering the stream is not paused, so the video plays badly
Gustavo Noronha (kov)
Comment 2
2009-03-16 22:37:00 PDT
Created
attachment 28678
[details]
fix for duration
Gustavo Noronha (kov)
Comment 3
2009-03-16 22:37:45 PDT
Created
attachment 28679
[details]
fix repainting
Gustavo Noronha (kov)
Comment 4
2009-03-16 22:38:25 PDT
Created
attachment 28680
[details]
fix buffering
Gustavo Noronha (kov)
Comment 5
2009-03-16 22:39:00 PDT
Created
attachment 28681
[details]
enable passing tests
Mark Rowe (bdash)
Comment 6
2009-03-16 22:43:51 PDT
Comment on
attachment 28679
[details]
fix repainting
> +void mediaPlayerPrivateRepaintCallback(WebKitVideoSink* sink, gpointer data) > +{ > + MediaPlayerPrivate* playerPrivate = static_cast<MediaPlayerPrivate*>(data); > + playerPrivate->repaint(); > +}
The function should be declared static, and the name of the first argument omitted since it is unused. You could probably do away with the local variable too without losing any clarity. r=me
Mark Rowe (bdash)
Comment 7
2009-03-16 22:46:33 PDT
Comment on
attachment 28680
[details]
fix buffering What happens here if I explicitly hit "play" while a large video is buffering? It seems like the video would pause itself until it completes loading, even though it may have buffered sufficiently for it to be watchable. Does that match the spec? What happens if I hit play and then explicitly pause the video while it is still loading? It seems like the video would start itself playing when it finishes loading. Does that match the spec?
Mark Rowe (bdash)
Comment 8
2009-03-16 22:50:17 PDT
Comment on
attachment 28678
[details]
fix for duration This seems as though it will treat a zero-length video as streaming? Does that behavior match the spec and/or other browsers?
Mark Rowe (bdash)
Comment 9
2009-03-16 22:51:22 PDT
Comment on
attachment 28681
[details]
enable passing tests It would be preferable for the comment to explain, with reference to a bug, why specific tests are disabled.
Holger Freyther
Comment 10
2009-03-16 22:56:35 PDT
Comment on
attachment 28678
[details]
fix for duration sorry, due mark's comments I put it back to review.
Gustavo Noronha (kov)
Comment 11
2009-03-16 23:06:30 PDT
(In reply to
comment #10
)
> (From update of
attachment 28678
[details]
[review]) > sorry, due mark's comments I put it back to review. >
I'm setting the review flag for duration to r+ again, after talking to Mark on IRC, and will add a FIXME comment pointing to a bug report in our bugzilla, refering to a bug on the gstreamer bugzilla.
Gustavo Noronha (kov)
Comment 12
2009-03-16 23:48:48 PDT
(In reply to
comment #7
)
> (From update of
attachment 28680
[details]
[review]) > What happens here if I explicitly hit "play" while a large video is buffering? > It seems like the video would pause itself until it completes loading, even > though it may have buffered sufficiently for it to be watchable. Does that > match the spec? > > What happens if I hit play and then explicitly pause the video while it is > still loading? It seems like the video would start itself playing when it > finishes loading. Does that match the spec?
I'll have to investigate this more closely. By reading the spec I believe we need to at least set readyState and networkState to specific values, and we need to figure out if we need to check if the user explicitely paused while we were buffering. I'll study some more tomorrow.
Gustavo Noronha (kov)
Comment 13
2009-03-17 00:04:16 PDT
Comment on
attachment 28678
[details]
fix for duration Landed as
r41756
, with comments addressed. Clearing review flag.
Gustavo Noronha (kov)
Comment 14
2009-03-17 00:11:50 PDT
Comment on
attachment 28679
[details]
fix repainting Landed as
r41757
. Clearing review flag.
Gustavo Noronha (kov)
Comment 15
2009-03-17 00:26:26 PDT
Comment on
attachment 28681
[details]
enable passing tests Landed as
r41758
. Clearing review flag.
Gustavo Noronha (kov)
Comment 16
2009-03-23 08:07:50 PDT
Comment on
attachment 28680
[details]
fix buffering Forgot to clear review flag while I stufy html5 media stuff a bit more for this change.
Gustavo Noronha (kov)
Comment 17
2009-04-22 19:11:04 PDT
***
Bug 16985
has been marked as a duplicate of this bug. ***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug