sillsdev / StoryProducer

Story Producer app
Other
5 stars 11 forks source link

Video Creation Error in Emulator using Px option only #565

Closed noneel closed 3 years ago

noneel commented 3 years ago

User Story: As a translator, I need to be able to select any option that is provided in Story Producer and produce a valid video that reflects those options

Apr 27, 2021 Robin tested Nathan's problematic configuration on her A8 phone with 3.0.5 apk and there was no problem creating a video with only pictures (and narration). Maybe not a bug?

Describe the bug During my testing of the current version of Story Producer, I encountered a bug that caused video creation to fail when certain option combinations are clicked. I'm not sure to what extent these options are failing, but it is failing consistently.

To Reproduce Steps to reproduce the behavior:

  1. Go to a fresh image Story template (I was using the Lost Coin template)
  2. Record an audio clip in the Translate + Revise phase on the first slide
  3. Approve the story in the Accuracy Check phase
  4. Scroll down to the Finalize phase
  5. Edit the local credits so that the required indicator turns green
  6. Give the video a name so that the required indicator turns green
  7. Under the options ensure only the "Include Pictures (Px)" option is selected
  8. Unexpectedly, during the video creation process a Toast will appear showing "Error!". Additionally, there is no output of the video to the videos file directory.

Expected behavior Different combinations of video settings should all produce a valid video and reflect the options selected. Or, if there are certified invalid video options, the user shouldn't be able to select them.

Screenshots When a new workspace is created, it defaults to the following options for the video creation:

Good

This combination works correctly and produces a valid video.

However, this configuration fails:

Bad

Versions of the software and Android -StoryProducer Version: 3.0.5 -Android Version: 9.0 (API 28)

Additional context This was discovered during Espresso testing, however, it also failed during normal operation of Story Producer.

Acceptance

Testing that shows that different options can be fixed. Obviously, we can't test every single configuration but it would be good for the developer to look through the code and figure out which options cause the most code to run. Those are the types of configurations that would be best to test.

Testing Ideas

Currently there is no testing of any option configurations for the video creation. Unfortunately, video creation takes the most time, which will make the testing much longer. However, it would be very useful to test different option configurations of the finalize phase. More tests may need to be added, but the main video creation test is when_createVideoButtonPressedWithDefaultOptions_should_produceVideoFileWithMp4Extension

Robin-rempel commented 3 years ago

Nathan, When this error was produced did you edit the local credit slide before trying to create the video? That is an expected requirement before video creation and I did not see it in your list of actions to reproduce the error.

Robin

On Sun, Apr 11, 2021, 19:34 noneel @.***> wrote:

User Story: As a translator, I need to be able to select any option that is provided in Story Producer and produce a valid video that reflects those options

Describe the bug During my testing of the current version of Story Producer, I encountered a bug that caused video creation to fail when certain option combinations are clicked. I'm not sure to what extent these options are failing, but it is failing consistently.

To Reproduce Steps to reproduce the behavior:

  1. Go to a fresh image Story template (I was using the Lost Coin template)
  2. Record an audio clip in the Translate + Revise phase on the first slide
  3. Approve the story in the Accuracy Check phase
  4. Scroll down to the Finalize phase
  5. Under the options ensure only the "Include Pictures (Px)" option is selected
  6. Unexpectedly, during the video creation process a Toast will appear showing "Error!". Additionally, there is no output of the video to the videos file directory.

Expected behavior Different combinations of video settings should all produce a valid video and reflect the options selected. Or, if there are certified invalid video options, the user shouldn't be able to select them.

Screenshots When a new workspace is created, it defaults to the following options for the video creation: [image: Good] https://user-images.githubusercontent.com/15131163/114326809-86e10380-9b04-11eb-8c8e-f58891f77545.png This combination works correctly and produces a valid video.

However, this configuration fails: [image: Bad] https://user-images.githubusercontent.com/15131163/114326822-93fdf280-9b04-11eb-8b48-300ecd84392a.png

Versions of the software and Android -StoryProducer Version: 3.0.5 -Android Version: 9.0 (API 28)

Additional context This was discovered during Espresso testing, however, it also failed during normal operation of Story Producer. Acceptance

Testing that shows that different options can be fixed. Obviously, we can't test every single configuration but it would be good for the developer to look through the code and figure out which options cause the most code to run. Those are the types of configurations that would be best to test. Testing Ideas

Currently there is no testing of any option configurations for the video creation. Unfortunately, video creation takes the most time, which will make the testing much longer. However, it would be very useful to test different option configurations of the finalize phase. More tests may need to be added, but the main video creation test is when_createVideoButtonPressedWithDefaultOptions_should_produceVideoFileWithMp4Extension

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sillsdev/StoryProducer/issues/565, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADM67N73ZD7MA7C25AQN3WDTII5ZDANCNFSM42YHXRHQ .

noneel commented 3 years ago

Hey @Robin-rempel,

Yes, I properly edited the Local Credits and also added a name for the video. I was unsure of how explicit I needed to be on the reproduction steps. I have added that into the steps so that it is more clear to whomever picks this up! Thanks for pointing that out. We definitely want to make it as clear as possible. Also, when I created the Local Credits slide requirement, I made it so that it would not let the user start creating a video until it is completed. It notifies them with an appropriate message.

DaleHensley commented 3 years ago

The following scenario was run multiple times with some variations:

RESULTS: This problem occurs on the Android 9, 10 and 11 emulators. It did not occur on my Android 11/Pixel 5 hardware combination. The problem occurs when only the "Include Pictures (Px)" option is selected and there are not enough audio clips recorded. For the "Lost Coin template", if the fourth slide is recorded (Story Slide 3) then the "Include Pictures (Px)" option works properly. The "Error!" message that appears in Story Producer is the result of a thrown exception in PipedMediaMuxer.kt. The Story Producer "Error!" message is printed in the Finalize screen by FinalizeActivity.kt. Below are the test results, the code that throws the exception, the exception messages and the logcat messages.

TEST RESULTS: image

image

image

image

image

bryanwussow commented 3 years ago

I ran Dale's test scenario in SP 3.0.5 on my Lenovo tablet with Android 7.1.1. It created a video just fine. Success.

bryanwussow commented 3 years ago

Since Dale's (and all) testing shows that

  1. this problem occurs only running SP on an emulator, not on hardware as real use would be -and-
  2. this problem only occurs when there are 1 or 2 audio clips recorded - very unusual in real use We will close this bug report and not fix it.
DaleHensley commented 2 years ago

This was fixed in the upgrade of Android Studio to Bumble Bee