Closed
Bug 1029316
Opened 11 years ago
Closed 11 years ago
[MediaEncoder] |VideoTrackEncoder::AppendVideoSegment| doesn't copy the value of VideoFrame::mForceBlack to mRawSegment.
Categories
(Core :: Audio/Video: Recording, defect)
Core
Audio/Video: Recording
Tracking
()
RESOLVED
FIXED
mozilla33
People
(Reporter: ctai, Assigned: ctai)
References
Details
Attachments
(1 file, 2 obsolete files)
|
5.19 KB,
patch
|
roc
:
review+
ctai
:
feedback+
|
Details | Diff | Splinter Review |
When I tried to disable a MediaSteamTrack, it doesn't work. After tracking the code, the root cause is the argument "VideoSements aSegment" of |VideoTrackEncoder::AppendVideoSegment| is not copy properly to mRawSegment.
There are at least two solutions for this bug.
1. Add one more argument in VideoSegment::AppendFrame for the value of VideoFrame::mForceBlack.
2. Call VideoSegment::ReplaceWithDisabled again when the VideoFrame::mForceBlack is true.
I prefer first solution.
| Assignee | ||
Comment 1•11 years ago
|
||
Add an argument in |VideoSegment::AppendFrame| for the information of bFroceBlack.
| Assignee | ||
Comment 2•11 years ago
|
||
Comment on attachment 8444934 [details] [diff] [review]
bug-1029316.patch v1.0
Shelly, would you might to give me some feedbacks?
Attachment #8444934 -
Flags: feedback?(slin)
Comment 3•11 years ago
|
||
Comment on attachment 8444934 [details] [diff] [review]
bug-1029316.patch v1.0
Review of attachment 8444934 [details] [diff] [review]:
-----------------------------------------------------------------
Thanks for the catch :)
::: content/media/VideoSegment.cpp
@@ +47,5 @@
> void
> VideoSegment::AppendFrame(already_AddRefed<Image>&& aImage,
> TrackTicks aDuration,
> + const IntSize& aIntrinsicSize,
> + bool bForceBlack)
Same here.
::: content/media/VideoSegment.h
@@ +98,5 @@
>
> + void AppendFrame(already_AddRefed<Image>&& aImage,
> + TrackTicks aDuration,
> + const IntSize& aIntrinsicSize,
> + bool bForceBlack = false);
s/bForceBlack/aForceBlack
Updated•11 years ago
|
Attachment #8444934 -
Flags: feedback?(slin) → feedback+
Comment 4•11 years ago
|
||
For the gtest testcase, if you only want to check the "force black segments" are handled by VP8TrackEncoder. You may overwrite the |void CreateMutedFrame(nsTArray<uint8_t>* aOutputBuffer)| in |TestVP8TrackEncoder| to see if the function is called by VP8TrackEncoder.
| Assignee | ||
Comment 6•11 years ago
|
||
1. Address Shelly's comment.
2. Add a simple gtest for this patch.
Attachment #8444934 -
Attachment is obsolete: true
| Assignee | ||
Comment 7•11 years ago
|
||
Comment on attachment 8450739 [details] [diff] [review]
bug-1029316.patch v1.1
Hi, Benjamin,
Could you please give me some feedback for the gtest part?
Attachment #8450739 -
Flags: feedback?(bechen)
| Assignee | ||
Comment 8•11 years ago
|
||
‘Try server result: https://tbpl.mozilla.org/?tree=Try&rev=ac33b5f95e9c
(In reply to Chia-hung Tai [:ctai :ctai_mozilla :cht] from comment #7)
> Comment on attachment 8450739 [details] [diff] [review]
> bug-1029316.patch v1.1
>
> Hi, Benjamin,
> Could you please give me some feedback for the gtest part?
Comment 9•11 years ago
|
||
Comment on attachment 8450739 [details] [diff] [review]
bug-1029316.patch v1.1
Review of attachment 8450739 [details] [diff] [review]:
-----------------------------------------------------------------
Overall looks good to me.
::: content/media/gtest/TestVideoSegment.cpp
@@ +3,5 @@
> +* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
> +
> +#include "gtest/gtest.h"
> +#include "VideoSegment.h"
> +#include "ImageContainer.h"
Since we don't access the class members of mozilla::layers::Image, I guess we can just use forward declaration.
@@ +9,5 @@
> +using namespace mozilla;
> +
> +TEST(VideoSegment, TestAppendFrameForceBlack)
> +{
> + nsRefPtr<mozilla::layers::Image> testImage = nullptr;
We don't need the "mozilla::" namespace here because you have already use it.
@@ +12,5 @@
> +{
> + nsRefPtr<mozilla::layers::Image> testImage = nullptr;
> +
> + VideoSegment segment;
> + segment.AppendFrame(testImage.forget(), mozilla::TrackTicks(90000), mozilla::gfx::IntSize(640, 480), true);
80 characters per line.
@@ +24,5 @@
> +}
> +
> +TEST(VideoSegment, TestAppendFrameNotForceBlack)
> +{
> + nsRefPtr<mozilla::layers::Image> testImage = nullptr;
Same as above.
@@ +27,5 @@
> +{
> + nsRefPtr<mozilla::layers::Image> testImage = nullptr;
> +
> + VideoSegment segment;
> + segment.AppendFrame(testImage.forget(), mozilla::TrackTicks(90000), mozilla::gfx::IntSize(640, 480));
Same as above
Attachment #8450739 -
Flags: feedback?(bechen) → feedback+
| Assignee | ||
Comment 10•11 years ago
|
||
Address Benjamin's comment.
Attachment #8450739 -
Attachment is obsolete: true
| Assignee | ||
Comment 11•11 years ago
|
||
Comment on attachment 8450768 [details] [diff] [review]
bug-1029316.patch v1.2
Carry Shelly and Benjamin's f+.
Attachment #8450768 -
Flags: feedback+
| Assignee | ||
Comment 12•11 years ago
|
||
Comment on attachment 8450768 [details] [diff] [review]
bug-1029316.patch v1.2
roc, could you please review this patch? This patch fixes the bug of disabling MediaStreamTrack not working(bug 970778).
In this patch, I did below changes.
1. Add an argument in |VideoSegment::AppendFrame| for the information of bFroceBlack.
2. Add two simple gtest unit test for my modification.
Attachment #8450768 -
Flags: review?(roc)
Attachment #8450768 -
Flags: review?(roc) → review+
| Assignee | ||
Comment 13•11 years ago
|
||
Try server result for this patch.
https://tbpl.mozilla.org/?tree=Try&rev=51a0058439bc
(In reply to Chia-hung Tai [:ctai :ctai_mozilla :cht] from comment #12)
> Comment on attachment 8450768 [details] [diff] [review]
> bug-1029316.patch v1.2
>
> roc, could you please review this patch? This patch fixes the bug of
> disabling MediaStreamTrack not working(bug 970778).
> In this patch, I did below changes.
> 1. Add an argument in |VideoSegment::AppendFrame| for the information of
> bFroceBlack.
> 2. Add two simple gtest unit test for my modification.
| Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
Comment 14•11 years ago
|
||
Flags: in-testsuite+
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
You need to log in
before you can comment on or make changes to this bug.
Description
•