Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Length of ICY metadata info length #25

Open
swordsman379 opened this issue Aug 4, 2024 · 1 comment
Open

Length of ICY metadata info length #25

swordsman379 opened this issue Aug 4, 2024 · 1 comment

Comments

@swordsman379
Copy link

I've noticed, that length of metadata info in ICY is shortened by 256 chars, though currently there are much longer ICY info strings.
Can be noticed here: http://stream.revma.ihrhls.com/zc3373

Here if ICY string from mplayer 38407:
ICY Info: StreamTitle='Lynyrd Skynyrd - text="Sweet Home Alabama" song_spot="M" spotInstanceId="-1" length="00:04:42" MediaBaseId="1090780" TAID="0" TPID="608985" cartcutId="702926" amgArtworkURL="http://image.iheart.com/bell-ingestion-pipeline-production-umg/full/0
And here is ICY string from VLC:
Lynyrd Skynyrd - text="Sweet Home Alabama" song_spot="M" spotInstanceId="-1" length="00:04:42" MediaBaseId="1090780" TAID="0" TPID="608985" cartcutId="702926" amgArtworkURL="http://image.iheart.com/bell-ingestion-pipeline-production-umg/full/00008811164829_20181115201652774/00008811164829_T1_cvrart.jpg" spEventID="468b0ae3-be4e-ef11-83a9-025fe493a615"

Can you make a release with no cutting of ICY info?

@swordsman379
Copy link
Author

swordsman379 commented Aug 4, 2024

PS. Forgot to say I need version for Windows
Sorry, can't compile myself
As I can see the only change is to be here:
stream/http.c

static void scast_meta_read(int fd, streaming_ctrl_t *sc) {
  unsigned char tmp = 0;
  unsigned metalen;
  my_read(fd, &tmp, 1, sc);
  metalen = tmp * 16;
  if (metalen > 0) {
    int i;
    uint8_t *info = malloc(metalen + 1);
    unsigned nlen = my_read(fd, info, metalen, sc);
    // avoid breaking the user's terminal too much
    if (nlen > 256) nlen = 256;
    for (i = 0; i < nlen; i++)
      if (info[i] && info[i] < 32) info[i] = '?';
    info[nlen] = 0;
    mp_msg(MSGT_DEMUXER, MSGL_INFO, "\nICY Info: %s\n", info);
    free(info);
  }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant