{"id":13618452,"url":"https://github.com/shaka-project/eme_logger","last_synced_at":"2025-04-05T07:02:57.871Z","repository":{"id":38812828,"uuid":"42618470","full_name":"shaka-project/eme_logger","owner":"shaka-project","description":"Logs Encrypted Media Extension (EME) events and calls to help investigate issues in premium media sites.","archived":false,"fork":false,"pushed_at":"2025-02-26T22:27:44.000Z","size":430,"stargazers_count":111,"open_issues_count":4,"forks_count":24,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-29T06:05:04.933Z","etag":null,"topics":["chrome-extension","drm","encrypted-media","encrypted-media-extensions","widevine","widevine-drm"],"latest_commit_sha":null,"homepage":"https://chrome.google.com/webstore/detail/eme-call-and-event-logger/cniohcjecdcdhgmlofniddfoeokbpbpb","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shaka-project.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-09-16T23:18:41.000Z","updated_at":"2025-03-15T15:12:56.000Z","dependencies_parsed_at":"2024-04-12T20:28:05.388Z","dependency_job_id":"6e89ee3b-da85-4902-8012-da7a7e3969b9","html_url":"https://github.com/shaka-project/eme_logger","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaka-project%2Feme_logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaka-project%2Feme_logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaka-project%2Feme_logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shaka-project%2Feme_logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shaka-project","download_url":"https://codeload.github.com/shaka-project/eme_logger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247299831,"owners_count":20916190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome-extension","drm","encrypted-media","encrypted-media-extensions","widevine","widevine-drm"],"created_at":"2024-08-01T20:02:01.812Z","updated_at":"2025-04-05T07:02:57.844Z","avatar_url":"https://github.com/shaka-project.png","language":"JavaScript","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# The EME Call and Event Logger Extension #\n\nThe EME Logger extension logs all Encrypted Media Extension (EME) calls and\nEvents. The log can be viewed in the javascript console, a separate browser page\nor a downloaded file.\n\n[EME Specification](https://w3c.github.io/encrypted-media/)\n\nJust want to try it out? Install the EME Logger from [Chrome Web Store](https://chrome.google.com/webstore/detail/eme-call-and-event-logger/cniohcjecdcdhgmlofniddfoeokbpbpb).\n\n\n## EME Formatters ##\n\nFormatters can be used with the EME Logger extension. Formatters are separate\nextensions that provide a class for key-system-specific custom formatting of\ndata from the calls and events.  Formatters should return objects with rich data\nso that the EME Logger extension can incorporate them into its own formatting.\n\nFor backward compatibility with the v2 extension's format, they can also return\nstrings.\n\nTo register a message formatter:\n  1. Write a class that implements the formatting methods below.\n  2. Append an instance of the class to document.emeFormatters.\n\nFor example:\n\n```js\nclass SomeFormatter {\n  // Return objects with rich data (preferred), or a string with a pre-formatted\n  // summary of the contents.  Throw an exception if the data is not formatted\n  // correctly for your key system.\n\n  formatInitData(initDataType, initData) {\n    return MyParser.parseInitDataIntoObject(initDataType, initData);\n  }\n\n  formatRequest(request) {\n    return MyParser.parseRequestIntoObject(request);\n  }\n\n  formatResponse(response) {\n    return MyParser.parseResponseIntoObject(response);\n  }\n\n  formatServerCertificate(certificate) {\n    return MyParser.parseCertificateIntoObject(certificate);\n  }\n}\n\nif (!document.emeFormatters)\n  document.emeFormatters = [];\ndocument.emeFormatters.push(new SomeFormatter);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaka-project%2Feme_logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshaka-project%2Feme_logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaka-project%2Feme_logger/lists"}