Closed Bug 908103 Opened 11 years ago Closed 6 years ago

[B2G][Helix][SD]When playing music of internal_sd card, pull out the external_sd card, the music stops

Categories

(Firefox OS Graveyard :: Gaia::Music, defect, P2)

ARM
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: lecky.wanglei, Unassigned)

Details

(Whiteboard: [fixinmusic2])

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; aff-kingsoft-ciba; .NET4.0E; .NET4.0C)

Steps to reproduce:

1, Put a MP3 to the internal_sd card, insert an external_sd card.

2, Restart the phone, play music.

3, Pull out the external_sd card.


Actual results:

1, the music stopped.


Expected results:

1, Music can be played normally.
Severity: normal → major
OS: All → Gonk (Firefox OS)
Priority: -- → P2
Hardware: All → ARM
Severity: major → blocker
blocking-b2g: --- → hd?
Hi,

We need to evaluate the seriousness of this issue, can you give me a definite answer, when will you modify this issue?

thanks.
fengximing.
Priority: P2 → P1
(In reply to lecky from comment #0)
> Steps to reproduce:
> 
> 1, Put a MP3 to the internal_sd card, insert an external_sd card.
> 
> 2, Restart the phone, play music.
> 
> 3, Pull out the external_sd card.

I wonder if the normal users will do step 3 while they are listening to music...

It seems strange to me that the users will actually open the back lid and pull out the sd card
while they are listening to the music, you can imagine this scenario is similar we pull out
the sd card when we are viewing pictures in gallery, although the songs/pictures are all in the
internal storage, also, do the users really know/remember where did they put the playing songs in?

And if we do want the expected behaviour, what will you expected when you press next/previous
and the target song is in the external sd card? skip it because the next song probably in the
internal storage? or stop it because it's not in the internal storage?

So I think the current behaviour is suitable and applicable on all conditions, that's, just stop
the playing song no matter the song is in internal or external storages.

What I proposed is from the POV of a developer, we can still let UX people to decide this.
Rod, can you please give some inputs on this issue? thanks.
Flags: needinfo?(rmacdonald)
The format in comment 2 is bad to read, sorry for that and I am re-posting it:

I wonder if the normal users will do step 3 while they are listening to music...

It seems strange to me that the users will actually open the back lid and pull out the sd card while they are listening to the music, you can imagine this scenario is similar we pull out the sd card when we are viewing pictures in gallery, although the songs/pictures are all in the internal storage, also, do the users really know/remember where did they put the playing songs in?

And if we do want the expected behaviour, what will you expected when you press next/previous and the target song is in the external sd card? skip it because the next song probably in the internal storage? or stop it because it's not in the internal storage?

So I think the current behaviour is suitable and applicable on all conditions, that's, just stop the playing song no matter the song is in internal or external storages.

What I proposed is from the POV of a developer, we can still let UX people to decide this. Rob, can you please give some inputs on this issue? thanks.
Hi Dominic Kuo,

I don't think so, we should't take a subjective for this issue. 
This problem ocurrs, because it isn't proper that the the process of file mapping handled in the storage,
please follow the steps to look at this issue, I hope you understand this problem, it may lead to the use of files is not normal, such as documents, pictures, music, etc..
For example, the SD card bad, so please see why the file mapping is wrong.
other information please ask Alan.

Thanks.
fengximing.
029-59599479.
Can you please explain every step in detail again? I probably misunderstood but my comment is based what I thought. I won't consider it's subjectively because it's from the POV of a developer, UX will make the final decision.
Hi Dominic Kuo,
Ok, maybe we have misunderstood.

Steps to reproduce:

1, Put a music file(mp3) to the phone, then insert an external_sd card.

2, Restart the phone and then play music.

3, During the music palying, remove the external_sd card.

you can see the music stop palying.
why? so please use adb to see this process in /mnt/sdcard and /mnt/sdcard2.

Thanks.
fengximing.
029-59599479
Hi Dominic Kuo,

How is this issue going?
Whether this issue was solved on Helix hd1.1 or Helix 1.2, can you give me an explicit conclusions?


Thanks.
(In reply to lecky from comment #6)
> 1, Put a music file(mp3) to the phone, then insert an external_sd card.
> 
> 2, Restart the phone and then play music.
> 
> 3, During the music palying, remove the external_sd card.
> 
> you can see the music stop palying.
> why? so please use adb to see this process in /mnt/sdcard and /mnt/sdcard2.

Removing external sd card or unmount the internal storage will both trigger the music player stop playing, this is because we want to prevent it from crash, although the playing file might not in the external sd card.

And if we want "not" to stop the playing music because the playing file is not on the external sd card, and what if the playing song ends, then the next song is on external sd card? what's the expected result?
Hi Dominic Kuo,

(In reply to Dominic Kuo [:dkuo] from comment #8)
Removing external sd card or
> unmount the internal storage will both trigger the music player stop
> playing, this is because we want to prevent it from crash, although the
> playing file might not in the external sd card.

However, it should not be stoped, because it palys the music of internal_sdcard. not external_sdcard.
I noticed that the music is stored internal_sdcard, bug it is mapped to external_sdcard, so if remove music, the palyer stopped, because the file map is not appropriate.
Usually, we think that the music of internal_sdcard is built in the internal_sdcard, the music of external_sdcard is built in the external_sdcard, however this is not it.
So I think this is the mount process question.
the last time I had communication with Alan, I want to know, can you confirm this issue can be modified on Helix hd1.1 or Helix hd1.2?

Thanks.
fengximing.
Hmm. I don't have a helix build stored on my phone.

For FirefoxOS we use a different mapping of internal and external sdcards than what android uses.

In android, the external sdcard is mounted from a directory within the internal sdcard.

For FirefoxOS, we require that the internal and external sdcards each have their own mount point and not overlap.

What does the helix vold.fstab file look like?

We would expect it look something like this:

dev_mount sdcard /mnt/sdcard auto driver-name-here
dev_mount extsdcard /mnt/extsdcard auto driver-name-here
Yes, in my vold.fstab, it look like this:
dev_mount sdcard /mnt/sdcard 19 driver-name-here
dev_mount extsdcard /mnt/sdcard2 auto driver-name-here 

I use it for FirefoxOS, but the external sdcard and the internal sdcard some files are mapped to the external sdcard.
Flags: needinfo?(rmacdonald) → needinfo?(dkuo)
(In reply to lecky from comment #11)
> Yes, in my vold.fstab, it look like this:
> dev_mount sdcard /mnt/sdcard 19 driver-name-here
> dev_mount extsdcard /mnt/sdcard2 auto driver-name-here 
> 
> I use it for FirefoxOS, but the external sdcard and the internal sdcard some
> files are mapped to the external sdcard.

I don't understand what you mean by "mapped".

Can you run the ds-test app (included with eng builds and denoted with a DS icon)? Select Enumerate for the command, sdcard for the storage type, and press DoIt. The results are reported on the screen, and also in logcat (it's probably easiest to extract the results from logcat).
Priority: P1 → P2
HI Beatriz:
could you help us to confirm whether you can accept this issue on V1.1HD?
Severity: blocker → normal
blocking-b2g: hd? → ---
 HI Beatriz:
could you help us to confirm whether you can accept this issue on V1.1HD?
Flags: needinfo?(brg)
Lecky please address dhylands question in comment 12.
Flags: needinfo?(brg) → needinfo?(lecky.wanglei)
hancheng :
plese handle it.
Flags: needinfo?(lecky.wanglei) → needinfo?(hancheng.b2g)
(In reply to Dave Hylands [:dhylands] from comment #12)

>I don't understand what you mean by "mapped".

It's a mistake. Just forget it. ^_^

>Can you
> run the ds-test app (included with eng builds and denoted with a DS icon)?
> Select Enumerate for the command, sdcard for the storage type, and press
> DoIt. The results are reported on the screen, and also in logcat (it's
> probably easiest to extract the results from logcat).

I tried this way and checked all the files it enumerated. There isn't any error.

So, this is a feature that "Removing external sd card or unmount the internal storage will both trigger the music player stop playing". As comment 8.
Flags: needinfo?(hancheng.b2g)
Whiteboard: [fixinmusic2]
Could we test this out with the Z3C to see if it's still an issue? Based on an inspection of the code, this should be ok.
Keywords: qawanted
This issue is not reproducible on Aries with master or 2.5. Following STR, music from internal storage continues to play after external SD card has been removed.

No repro on:
Device: Aries 2.6 Master
BuildID: 20151109152230
Gaia: 23cab7ea0fcecab7689d340baf604e024e88f9a3
Gecko: e1ef2be156de1dad31bb4189a51b178b12b23340
Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56
Version: 45.0a1 (2.6) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0

Device: Aries 2.5
BuildID: 20151109192627
Gaia: 9f823b3b2902558bad224384e1abddd1bb35d93a
Gecko: 08e3099c9d9a949e6b0b8d11ae0790ed3b02dbe9
Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56
Version: 44.0a2 (2.5) 
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Keywords: qawanted
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
Firefox OS is not being worked on
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Flags: needinfo?(dominickuo)
You need to log in before you can comment on or make changes to this bug.