A tabela de tipos de mídia no ARMEntender o conteúdo deste post será importante para entender meus próximos posts.
Todo firmware Mediatek 13x9 tem uma tabela no ARM CODE que define quais são as extensões de mídia conhecidas pelo aparelho e, em parte, como tratar cada uma delas.
Fatos:- Se uma extensão não estiver na tabela, nem vai aparecer no browser;
- Mesmo que uma extensão esteja na tabela, não significa que o arquivo vai aparecer no browser ou se aparecer, que é suportado de alguma forma.
- É possível fazer com que um arquivo válido, mas com extensão desconhecida, seja reconhecido e executado pelo aparelho, editando essa tabela.
A estrutura de cada item na tabela é a seguinte:
- "Tipo" de arquivo - um byte - Define como o arquivo vai ser tratado;
- Tamanho da extensão - um byte
- Extensão - cinco bytes - A extensão em ASCII
Para encontrar a tabela no firmware, salve o ARM CODES descomprimido e faça uma busca pela string "MP3".
A tabela do Proview DVP-858.Estou usando o DVP-858 como exemplo por ser um dos aparelhos com suporte mais abrangente.
A extensão textual à direita foi adicionada por mim (ASCII já decodificado) para identificar cada item.
00 03 41 43 33 00 00 AC3
01 03 4D 50 33 00 00 MP3
02 03 4D 50 32 00 00 MP2
03 03 4D 50 31 00 00 MP1
04 03 57 41 56 00 00 WAV
05 03 4A 50 47 00 00 JPG
06 03 4D 4C 50 00 00 MLP
07 03 57 4D 41 00 00 WMA
08 03 41 53 46 00 00 ASF
09 03 4D 50 47 00 00 MPG
0A 03 44 41 54 00 00 DAT
0B 03 56 4F 42 00 00 VOB
0D 03 44 53 44 00 00 DSD
09 03 4D 50 45 00 00 MPE
09 03 4D 31 56 00 00 M1V
09 03 4D 32 56 00 00 M2V
05 03 4A 50 45 00 00 JPE
0C 03 41 41 43 00 00 AAC
09 04 4D 50 45 47 00 MPEG
05 04 4A 50 45 47 00 JPEG
0E 03 50 4D 46 00 00 PMF
0F 03 43 44 41 00 00 CDA
12 03 41 56 49 00 00 AVI
12 03 56 49 44 00 00 VID
12 04 44 49 56 58 00 DIVX
14 03 4D 50 34 00 00 MP4
14 03 4D 34 41 00 00 M4A
15 03 33 47 50 00 00 3GP
16 03 4D 34 56 00 00 M4V
17 03 44 53 54 00 00 DST
18 03 4F 47 47 00 00 OGG
18 03 4F 47 4D 00 00 OGM
19 02 52 41 00 00 00 RA
19 02 52 4D 00 00 00 RM
19 03 52 41 4D 00 00 RAM
19 03 52 4D 4D 00 00 RMM
19 04 52 4D 56 42 00 RMVB
A tabela do Punktal PK-246 é idêntica, mas sem o registro para a extensão .M4A
A mesma tabela, ordenada por código:Os asteriscos sinalizam extensões que eu já testei e aparecem
00 03 41 43 33 00 00 AC3 - nem aparece no browser
01 03 4D 50 33 00 00 *MP3
02 03 4D 50 32 00 00 MP2
03 03 4D 50 31 00 00 MP1
04 03 57 41 56 00 00 WAV
05 03 4A 50 47 00 00 *JPG
05 04 4A 50 45 47 00 JPEG
05 03 4A 50 45 00 00 JPE
06 03 4D 4C 50 00 00 MLP
07 03 57 4D 41 00 00 *WMA
08 03 41 53 46 00 00 ASF
09 03 4D 50 47 00 00 *MPG
09 03 4D 50 45 00 00 MPE
09 04 4D 50 45 47 00 MPEG
09 03 4D 31 56 00 00 M1V
09 03 4D 32 56 00 00 M2V
0A 03 44 41 54 00 00 DAT
0B 03 56 4F 42 00 00 VOB
0C 03 41 41 43 00 00 AAC
0D 03 44 53 44 00 00 DSD
0E 03 50 4D 46 00 00 PMF
0F 03 43 44 41 00 00 CDA
12 03 41 56 49 00 00 *AVI
12 03 56 49 44 00 00 VID
12 04 44 49 56 58 00 *DIVX
14 03 4D 50 34 00 00 *MP4
14 03 4D 34 41 00 00 *M4A
15 03 33 47 50 00 00 *3GP
16 03 4D 34 56 00 00 M4V
17 03 44 53 54 00 00 DST
18 03 4F 47 47 00 00 *OGG
18 03 4F 47 4D 00 00 *OGM
19 02 52 41 00 00 00 RA - nem aparece no browser
19 02 52 4D 00 00 00 RM - nem aparece no browser
19 03 52 41 4D 00 00 RAM - nem aparece no browser
19 03 52 4D 4D 00 00 RMM - nem aparece no browser
19 04 52 4D 56 42 00 RMVB - nem aparece no browser
Manipulando a tabela do Proview DVP-858 já verifiquei o seguinte:- É possível fazer com que arquivos .aac sejam executados. Perceba que curiosamente consta um item para a extensão na tabela, mas nós já sabemos que arquivos .aac nem aparecem no browser (você precisa renomear para .m4a). Basta trocar o "0C" por "14" no tipo do item para corrigir isso.
- Podemos adicionar até cinco extensões novas facilmente, apenas editando os cinco últimos itens;
- Infelizmente, não dá para fazer com que AAC seja manipulado como se fosse MP3, dando a ele o código "01". Deve haver uma outra verificação mais adiante que rejeita o arquivo e volta para o browser;
- Não adianta atribuir os códigos "14" ou "12" para AC3. O arquivo aparece no browser, mas é rejeitado.
- Se você quiser que as legendas apareçam no browser, basta usar por exemplo os itens inúteis de RA a RMVB e atribuir um "tipo" que tenha visibilidade. É claro que selecionar as legendas não vai servir para nada e poderá até travar o aparelho.