Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

[video_player] Fix some videos being rendered black on iOS #1307

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
53f80ce
#17606 Fix: some videos were rendered black with the video_player plu…
recastrodiaz Mar 4, 2019
65254f1
Upgrade video_player version to 0.10.1
recastrodiaz Mar 4, 2019
6d6b6f1
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Mar 5, 2019
cf19cca
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Mar 14, 2019
afbccb5
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Mar 22, 2019
e221e2d
Merge branch 'master' into blackVideos
recastrodiaz Apr 11, 2019
3255964
- Remove useless logging
recastrodiaz Apr 12, 2019
1c18a40
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Apr 12, 2019
0f1722d
Merge branch 'master' into blackVideos
recastrodiaz Apr 18, 2019
9202237
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Apr 23, 2019
db26c1b
Merge branch 'master' into blackVideos
recastrodiaz Apr 26, 2019
d31a68c
Increase plugin build version
recastrodiaz Apr 26, 2019
fe56ce8
Merge branch 'master' into blackVideos
recastrodiaz May 13, 2019
1c6c8dc
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz May 14, 2019
67a57db
Merge branch 'master' into blackVideos
recastrodiaz May 17, 2019
9f14060
Merge branch 'master' into blackVideos
recastrodiaz May 17, 2019
5ef547d
Merge branch 'master' into blackVideos
recastrodiaz May 23, 2019
5641d9a
Merge branch 'master' into blackVideos
recastrodiaz Jun 4, 2019
fa7ee08
Merge branch 'master' into blackVideos
recastrodiaz Jun 17, 2019
dfc066d
Merge branch 'master' into blackVideos
recastrodiaz Jun 19, 2019
7cbeddd
Merge branch 'master' into blackVideos
recastrodiaz Jun 24, 2019
eadbb3a
Merge branch 'master' into blackVideos
recastrodiaz Jun 25, 2019
40cbe9e
Merge branch 'master' into blackVideos
recastrodiaz Jul 11, 2019
a0727f5
Merge branch 'master' into blackVideos
recastrodiaz Jul 17, 2019
d43d71f
Merge branch 'master' into blackVideos
recastrodiaz Jul 17, 2019
821c933
Merge branch 'master' into blackVideos
recastrodiaz Jul 26, 2019
e323d7c
Merge branch 'master' into blackVideos
recastrodiaz Aug 1, 2019
d69cabd
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Aug 8, 2019
29488bb
Merge branch 'master' into blackVideos
recastrodiaz Aug 12, 2019
d1b3a44
Merge branch 'master' into blackVideos
recastrodiaz Aug 26, 2019
94f0ffe
Merge branch 'master' into blackVideos
recastrodiaz Sep 7, 2019
10de1da
Incrase video_player version
recastrodiaz Sep 7, 2019
3668e3f
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Oct 4, 2019
b43180d
Merge branch 'master' into blackVideos
recastrodiaz Nov 18, 2019
7075acf
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Nov 29, 2019
c0cede4
Merge branch 'master' into blackVideos
recastrodiaz Jan 6, 2020
8344dcb
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Jan 8, 2020
73ba258
Merge branch 'master' into blackVideos
recastrodiaz Jan 17, 2020
0c31a62
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Feb 13, 2020
5dcb961
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Feb 20, 2020
30b4f76
Merge remote-tracking branch 'upstream/master' into blackVideos
recastrodiaz Feb 21, 2020
4fbf8e5
Merge branch 'master' into blackVideos
Salakar Jan 7, 2021
d5f86cc
Ensure videos are not black when rotationDegrees == 180 and transform…
recastrodiaz Jan 7, 2021
d33948a
Merge branch 'blackVideos' of github.com:recastrodiaz/plugins into bl…
recastrodiaz Jan 7, 2021
826adad
Merge branch 'master' into blackVideos
Salakar Jan 8, 2021
aa497bc
Update version on pubspec
Salakar Jan 8, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion packages/video_player/video_player/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 2.0.0-nullsafety.8

* Fixed an issue where some videos would be rendered black on iOS.

## 2.0.0-nullsafety.7

* Update the example app: remove the deprecated `RaisedButton` and `FlatButton` widgets.
Expand Down Expand Up @@ -276,7 +280,6 @@ DefaultHttpDataSourceFactory by default.

* Fix a few other IDE warnings.


## 0.10.0+7

* Android: Fix issue where buffering status in percentage instead of milliseconds
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,21 +171,26 @@ - (CGAffineTransform)fixTransform:(AVAssetTrack*)videoTrack {
CGAffineTransform transform = videoTrack.preferredTransform;
// TODO(@recastrodiaz): why do we need to do this? Why is the preferredTransform incorrect?
// At least 2 user videos show a black screen when in portrait mode if we directly use the
// videoTrack.preferredTransform Setting tx to the height of the video instead of 0, properly
// displays the video https://github.com/flutter/flutter/issues/17606#issuecomment-413473181
if (transform.tx == 0 && transform.ty == 0) {
NSInteger rotationDegrees = (NSInteger)round(radiansToDegrees(atan2(transform.b, transform.a)));
NSLog(@"TX and TY are 0. Rotation: %ld. Natural width,height: %f, %f", (long)rotationDegrees,
videoTrack.naturalSize.width, videoTrack.naturalSize.height);
if (rotationDegrees == 90) {
NSLog(@"Setting transform tx");
transform.tx = videoTrack.naturalSize.height;
transform.ty = 0;
} else if (rotationDegrees == 270) {
NSLog(@"Setting transform ty");
transform.tx = 0;
transform.ty = videoTrack.naturalSize.width;
}
// videoTrack.preferredTransform. This is because the transform.tx and transform.ty values are
// incorrectly set to 0.
// Setting the transform.tx value to the height of the video instead of 0 when rotationDegrees ==
// 90 and transform.ty to the video width when rotationDegrees == 270, properly displays the video
// https://github.com/flutter/flutter/issues/17606#issuecomment-413473181 In 1 other user video
// the transform.x and transform.y are set to 1080.0 and 0.0 respectively, whilst the width,
// height and rotation of the video are 848.0, 480.0 and 90 respectively. Replacing the value of
// transform.tx to the video height properly renders the video.
NSInteger rotationDegrees = (NSInteger)round(radiansToDegrees(atan2(transform.b, transform.a)));
NSLog(@"VIDEO__ %f, %f, %f, %f, %li", transform.tx, transform.ty, videoTrack.naturalSize.height,
videoTrack.naturalSize.width, (long)rotationDegrees);
if (rotationDegrees == 90) {
transform.tx = videoTrack.naturalSize.height;
transform.ty = 0;
} else if (rotationDegrees == 180) {
transform.tx = videoTrack.naturalSize.width;
transform.ty = videoTrack.naturalSize.height;
} else if (rotationDegrees == 270) {
transform.tx = 0;
transform.ty = videoTrack.naturalSize.width;
}
return transform;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/video_player/video_player/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Flutter plugin for displaying inline video with other Flutter
# 0.10.y+z is compatible with 1.0.0, if you land a breaking change bump
# the version to 2.0.0.
# See more details: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0
version: 2.0.0-nullsafety.7
version: 2.0.0-nullsafety.8
homepage: https://github.com/flutter/plugins/tree/master/packages/video_player/video_player

flutter:
Expand Down