Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Patches
  • Category Drivers
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.4
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by MarcinBukat - 2010-04-07
Last edited by speachy - 2020-07-24

FS#11189 - separate mas35xx lowlevel stuff

I did my best to separate mas lowlevel stuff from sound.c. I made various cleanups to handle mas code in more consistent way. I do not have any Archos device so this is not tested at all (although it compiles cleanly).

Closed by  speachy
2020-07-24 23:03
Reason for closing:  Out of Date
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

All Archos targets have been retired. The end of an era..

Here I will spot some additional places where the MAS cleanup work is needed:
firmware/mp3_playback.c - contains SH specific code so should be moved to target specyfic file (at leas part of it)
apps/mpeg.c - contains a lot of code specific to MAS. This should be reviewed.

apps/plugin.h - exports a lot of MAS specific functions to be used in plugins

apps/plugins/starfield.c
apps/plugins/oscilloscope.c
apps/plugins/vu_meter.c
apps/plugins/splitedit.c - this plugins contain call to rb→mas_codec_readreg(0x0C) and rb→mas_codec_readreg(0x0D) to obtain peak value

apps/plugins/wavrecord.c
apps/plugins/wavplay.c - MAS specyfic

apps/recorder/radio.c - contains call to mas_codec_writereg(6, 0x4000);
apps/recorder/peakmeter.c - contains call to mas_codec_readreg(pm_src_left) and mas_codec_readreg(pm_src_right)

Removed warnings when compiling targets other than archos. This is only minor change to the initial patch.

sync to r26704 and some further cleanups. As pointed by amiconn commitable version has to preserve files history so final patch will be functionally identical but prepared in slightly different way.

created with git diff -M should preserve history

Finally tracked down what cause rejects. This is the same as above patch but with offending hunks removed by hand.

last patch produced reject (patch –dry-run does not reveal this unfortunately). This is one *tested* to not produce rejects with current svn

synced to r28187, tested on Archos Studio (thanks to b0hoon for lending me the device)

I tested the patch on my OndioFM which has a different MAS than the Studio thus having some more sound settings, wav playback and recording (also wav recording).

Sound settings all seem to work correctly. I went through the complete sound settings menu and listened to the difference when changing the setting as well as comparing the ranges to a build without the patch.

Available recording settings are all the same if I saw correctly. Two short test recordings (one with the internal mic, one from radio) worked. I was just testing the standards though - e.g. the resulting average bitrate looked correct (respecting the quality setting)

A wav recording worked correctly and I could play back the file with wavplay which sounded correctly too.

Fix sim build for hwcodec targets.

Previous patch was screwed up for unknown reason. This one *should* be the correct one.

The patch was commited as r28425 and r28426. There are still some mas specific bits which will need review:
apps/mpeg.c

apps/plugins/starfield.c
apps/plugins/oscilloscope.c
apps/plugins/vu_meter.c
apps/plugins/splitedit.c - this plugins contain call to rb→mas_codec_readreg(0x0C) and rb→mas_codec_readreg(0x0D) to obtain peak value

apps/plugins/wavrecord.c
apps/plugins/wavplay.c - MAS specific (this can be left alone I think)

apps/recorder/radio.c - contains call to mas_codec_writereg(6, 0x4000);
apps/recorder/peakmeter.c - contains call to mas_codec_readreg(pm_src_left) and mas_codec_readreg(pm_src_right)

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing