Opened 9 years ago

Closed 8 years ago

#6012 closed bug (fixed)

Setting of "Real TIme Video" not remembered

Reported by: fano Owned by: yourpalal
Priority: normal Milestone: R1
Component: Preferences/Media Version: R1/Development
Keywords: Cc: mdisreali@…
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

If you set "Real Time Video" then close Media preferences and reopen it, the check is gone!

I don't know if it is only a visual bug or if "Real TIme Video" is not really set, but seeing movies I can't see real improvement so I suspect that it is not set for real.

Attachments (2)

media-refactor.jpeg (67.9 KB) - added by yourpalal 8 years ago.
Screenshot of the unified settings view
media-preflet-ui.png (50.8 KB) - added by yourpalal 8 years ago.
Media preflet ui codeup

Download all attachments as: .zip

Change History (24)

comment:1 Changed 8 years ago by yourpalal

Owner: changed from anevilyak to yourpalal
Status: newassigned

Currently, enabling/disabling realtime audio and video is not implemented by BMediaRoster (see the code here). However, assuming that realtime will one day be implemented, Media preferences should catch the error and do something about it. I'll take ownership of this since I'm working on the Media preflet right now.

comment:2 Changed 8 years ago by yourpalal

Resolution: fixed
Status: assignedclosed

Fixed in hrev40139, we now use a BAlert when the realtime box is checked.

comment:3 Changed 8 years ago by tangobravo

I'd rather just have the checkbox removed (or commented out). The media preflet was just written as a pretty-much 1:1 recreation of the one from BeOS, but it doesn't have to stay like that.

Bug #2933 is related too.

Is "real time audio/video" going to be implemented? What does it even mean - smaller buffers and higher priority threads somewhere?

comment:4 in reply to:  3 Changed 8 years ago by yourpalal

Replying to tangobravo:

I'd rather just have the checkbox removed (or commented out). The media preflet was just written as a pretty-much 1:1 recreation of the one from BeOS, but it doesn't have to stay like that.

I did consider removing it, but I thought this might give more incentive to implement it ;) Thinking a little more seriously though, it would be nice to merge the Audio and Video settings items into a single view, with no real-time stuff, but holding both audio and video input/output settings.

Bug #2933 is related too.

Is "real time audio/video" going to be implemented? What does it even mean - smaller buffers and higher priority threads somewhere?

I'm not sure if it will ever be implemented, I'm not implementing it, that's for sure.

I will try out the unified settings view, and if it looks good, commit it.

Changed 8 years ago by yourpalal

Attachment: media-refactor.jpeg added

Screenshot of the unified settings view

comment:5 Changed 8 years ago by yourpalal

Resolution: fixed
Status: closedreopened

Reopening this ticket, for consideration of a unified AV settings view.

comment:6 Changed 8 years ago by axeld

I'm not sure I like it as much; for one, I like having the audio/video stuff separated in the view on the left, and also, the information that you only set the default input/output is somehow missing. I would also write "Audio/Video" with a slash in any case :-)

However, the "Restart media services" button could be removed as well, as that shouldn't ever be needed anymore.

BTW, the insets are much too large, why didn't you just use the default spacing? Or is that code just older, and you didn't touch that part?

comment:7 in reply to:  6 ; Changed 8 years ago by yourpalal

Replying to axeld:

I'm not sure I like it as much; for one, I like having the audio/video stuff separated in the view on the left, and also, the information that you only set the default input/output is somehow missing. I would also write "Audio/Video" with a slash in any case :-)

The lack of separation between audio and video items has been bugging me too, that is a nice feature of the current design. I did also wonder about the title, but that was the best I could come up with..

However, the "Restart media services" button could be removed as well, as that shouldn't ever be needed anymore.

Ah, I wasn't aware of that.

BTW, the insets are much too large, why didn't you just use the default spacing? Or is that code just older, and you didn't touch that part?

I did just use the insets as they were, they are currently set to 14, and looking at the source code, we also end up with more than 14 + be_control_look->DefaultItemSpacing() between the listview and the other content.

Anyway, knowing that real-time is not necessary, and neither is restarting media_server, maybe it is time for a bigger ui refresh than just merging the audio and video stuff... I'm going to see if I can come up with something nice, and I'll bring it to haiku-dev. (I was planning on writing an email about this screenshot, but didn't get around to it.)

comment:8 in reply to:  7 ; Changed 8 years ago by axeld

Replying to yourpalal:

Anyway, knowing that real-time is not necessary

It's actually a feature that makes at least some sense if you need it for certain software. But since it's not implemented yet, and might not ever be, I agree that we could leave it out.

comment:9 in reply to:  6 ; Changed 8 years ago by Disreali

Cc: mdisreali@… added
Version: R1/alpha2R1/Development

Replying to axeld:

However, the "Restart media services" button could be removed as well, as that shouldn't ever be needed anymore.

Please don't do that. I need to restart the Media Server multiple times every time I boot up Haiku. And I know that I am not the only one who uses the "Restart Media Services" button on a regular basis. See ticket:5339

Changed 8 years ago by yourpalal

Attachment: media-preflet-ui.png added

Media preflet ui codeup

comment:10 in reply to:  8 Changed 8 years ago by yourpalal

Replying to axeld:

Replying to yourpalal:

Anyway, knowing that real-time is not necessary

It's actually a feature that makes at least some sense if you need it for certain software. But since it's not implemented yet, and might not ever be, I agree that we could leave it out.

Oops, I meant that the real-time setting is not necessary, I agree that realtime audio/video is/would be a nice feature.

comment:11 Changed 8 years ago by yourpalal

I've uploaded some screencaps of the my new ui, one of each tab (all mashed into a single file). Here is a bit of info:

  • Audio Mixer tab: This is the tab that is open by default, and displays the audio mixer controls. I also moved the deskbar volume control checkbox here, because people are most likely to open the mixer tab when they want to change the volume.
  • Audio Settings tab: This tab is similar to the original preflet design. On the left, there is a listview of the available audio devices, with icons marking the default input/output. On the right side are the controls for the currently selected device/node. Below the listview are some controls for the current node. The 'Preferred Output' and 'Preferred Input' checkboxes are marked, but also disabled when the current device is the preferred output or input node, respectively. These checkboxes are disabled when active; instead of deselecting the current node, you go to a different node and select that one. Although this isn't necessarily intuitive, I think it is discoverable enough to be a decent solution. (suggestions welcome) The channel menu is enabled when the current node is the preferred output node, and disabled when it is not.
  • Video settings tab: works largely like the audio settings tab, but with no channel menu. On my hardware, there aren't any nodes that show up here, so it looks pretty barren.
  • Status tab: This tab was added in response to the concerns raised by Disreali. The empty list in this tab will hold names of all the running media addons (assuming that is feasible). This tab is the most unfinished, and suggestions for useful controls/info for it are welcome.

comment:12 in reply to:  9 Changed 8 years ago by axeld

Replying to Disreali:

Please don't do that. I need to restart the Media Server multiple times every time I boot up Haiku. And I know that I am not the only one who uses the "Restart Media Services" button on a regular basis. See ticket:5339

What you describe is a bug - we should not make UI decisions to work around existing bugs, we should fix the bugs in question instead. If there is no functional use for that button (and there isn't anymore), it has no place in the UI.

comment:13 in reply to:  11 ; Changed 8 years ago by axeld

Replying to yourpalal:

I've uploaded some screencaps of the my new ui, one of each tab (all mashed into a single file). Here is a bit of info:

Since I haven't actually used it, and only base my opinion on the screenshots, take it with a grain of salt.

So, having said that, from the screenshots, I think this makes the preferences actually less clear and more obscure to me; I see no real benefit in the restructuring. AFAICT the problem we're trying to solve are the almost empty audio/video settings if the real time stuff has been removed - or do you see any other problems?

If that is the only gripe, maybe we can come up with additional functionality there instead? Like a button to play an audio test file, or something like that. Or move the audio mixer part there (some of its settings should go anyway IMO).

OTOH we could also add the list of installed codecs, and formats or something like that, and I guess we could even come up with more useful additions if we think a bit harder :-)

comment:14 in reply to:  13 ; Changed 8 years ago by stargatefan

Replying to axeld:

Since I haven't actually used it, and only base my opinion on the screenshots, take it with a grain of salt.

So, having said that, from the screenshots, I think this makes the preferences actually less clear and more obscure to me; I see no real benefit in the restructuring. AFAICT the problem we're trying to solve are the almost empty audio/video settings if the real time stuff has been removed - or do you see any other problems?

If that is the only gripe, maybe we can come up with additional functionality there instead? Like a button to play an audio test file, or something like that. Or move the audio mixer part there

(some of its settings should go anyway IMO).

OTOH we could also add the list of installed codecs, and formats or something like that, and I guess we could even come up with more useful additions if we think a bit harder :-)

What setting did you have in mind ? I find the current mixer layout a bit difficult, but useful. Others comming from digital audio workstation work should find this to be true as well.

Maybe obscure some settings and features behind at advanced/basic button would be better.

comment:15 in reply to:  13 Changed 8 years ago by yourpalal

Replying to axeld:

So, having said that, from the screenshots, I think this makes the preferences actually less clear and more obscure to me; I see no real benefit in the restructuring. AFAICT the problem we're trying to solve are the almost empty audio/video settings if the real time stuff has been removed - or do you see any other problems?

Although that was the issue that spurred me on, I also think that the current design is not very extensible. Upon further reflection though, I think this could be solved better by moving to a BOutlineListView. I guess I got too excited about having a new design for it ;)

If that is the only gripe, maybe we can come up with additional functionality there instead? Like a button to play an audio test file, or something like that. Or move the audio mixer part there (some of its settings should go anyway IMO).

I think having a button to play an audio test would be a very nice feature, but I think the mixer should stay in its own page.

OTOH we could also add the list of installed codecs, and formats or something like that, and I guess we could even come up with more useful additions if we think a bit harder :-)

Yeah, a list of supported formats would be nice to see. Eventually, it would also be nice to have a codecs section in the preflet, with preference panels like DataTranslations.

In the mean time, I think I will remove the real-time stuff outright; I tried, and it looks fine. :P

comment:16 Changed 8 years ago by yourpalal

I am thinking about the 'Restart Media Services' button, and although I agree we shouldn't design the UI as a workaround to the real bug, it sounds like it would be a big inconvenience to remove this before that bug is fixed. I also think that a status page, like the one in my other design could be nice for this scenario, and perhaps others in the future.

comment:17 in reply to:  14 Changed 8 years ago by axeld

Replying to stargatefan:

What setting did you have in mind ? I find the current mixer layout a bit difficult, but useful. Others comming from digital audio workstation work should find this to be true as well.

Please try to quote properly. The settings I was referring to are the ones that end in "(like BeOS R5)", as well as "refuse ... format changes". At least I can't imagine any real world usage scenario for those.

comment:18 in reply to:  16 Changed 8 years ago by axeld

Replying to yourpalal:

I am thinking about the 'Restart Media Services' button, and although I agree we shouldn't design the UI as a workaround to the real bug, it sounds like it would be a big inconvenience to remove this before that bug is fixed. I also think that a status page, like the one in my other design could be nice for this scenario, and perhaps others in the future.

Apart from the fact that you must not play with the media add-on server separately (that's the job of the media server), apart from bugs, it doesn't give you anything to restart that server, and other servers don't have a button for this either. That button should just go away, although I don't mind if we wait a bit with that. OTOH you can easily write a short script that does just that, and place it on your desktop.

In any case, I'm looking forward to whatever improvements you will come up with :-)

comment:19 Changed 8 years ago by fano

I not agree to remove RealTime AudioVideo, now they are not implemented but they make sense: for example suppose Haiku used as a hybrid MediaCenter OS, I play a file and contemporary there is Web+ with 360 tab opened in background... I don't want audio or video to skip because Web+ wants to refresh a page that I not see... so the AV is in "realtime" and I'm safe.

Regarding "refuse" format changes, I suppose a format change (the setting means: audio frame-rate, right?) can do "some click" on audio receiver or worst it goes out of sync and not play nothing... but it receiver support it for true audiophile can be more interesting the beauvoir when it is not checked so file is 44.1 Khz? It changes to 44.1 Khz... it is 96 Khz? It does 96 Khz... avoiding resampling (I think can work really only together con "Exclusive Mode", see later).

For suggestion in new functionality:

  • Some way to test if audio is really playing, a button in which click and play some sound
  • Dolby Digital/DTS audio out passthrought on SPDIF port(s)
  • Dolby or DTS Live that is a compression on realtime in AC3 or DTS (useful if playing for example an AAC multichannel audio file via SPDIF so the receiver can decode it in AC3), as ffdshow do, user can choose for all audio or only multichannel if not directly supported (that is not recompress an AC3 file in AC3...)
  • Some more advanced resampling algorithm than skip/repeat
  • Exclusive mode: an application can say to Media Server for now play ONLY my sound: no system click, no browser music and so on! This really important, in my opinion, in a future Mediacenter scenario... I'm seeing a movie I'm not interested on when it is doing the OS in background :-) No Audio Mixing for short... together with "change the framerate as audio that is playing" I think we can have a very high audio quality in this way... A high audio player can like to use this, too (see Foobar2000 for example).
  • Audio out using HDMI port (for start in SPDIF compatibility mode)

comment:20 in reply to:  19 Changed 8 years ago by axeld

Replying to fano:

I not agree to remove RealTime AudioVideo, now they are not implemented but they make sense: for example suppose Haiku used as a hybrid MediaCenter OS, I play a file and contemporary there is Web+ with 360 tab opened in background... I don't want audio or video to skip because Web+ wants to refresh a page that I not see... so the AV is in "realtime" and I'm safe.

That's actually not what the "realtime" setting is about; what you describe should never happen in any mode. The setting is intended to shorten the buffer size used internally - this would make skipping actually more likely, if the priorities aren't right, or other bugs are left in the code. This needs more CPU resources as buffers are swapped more often (and hence is an optional setting. This can be used if you really need low latency audio/video; you don't need this for simple playback at all.

comment:21 Changed 8 years ago by fano

Mmmh so the term was misleading: I thought MediaServer gets "Real Time" priority and so application that use it automatically (as they depend on it), the low latency thing is effectively useful only for audio producer... not really useful for normal user!

comment:22 Changed 8 years ago by yourpalal

Resolution: fixed
Status: reopenedclosed

Fixed in hrev40687. I have removed the realtime stuff, but left the restart button for now.

Note: See TracTickets for help on using tickets.