INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: DLNA playback issues in JRiver when using 'Music Assistant'  (Read 992 times)

sjhilton

  • Junior Woodchuck
  • **
  • Posts: 96
DLNA playback issues in JRiver when using 'Music Assistant'
« on: September 14, 2024, 03:03:26 am »

I'm currently experimenting with a piece of software called Music Assistant (https://music-assistant.io/) which is able to provide DLNA stream to JRiver Media Center as a DLNA renderer (I'm currently using this to play Tidal, but there are a bunch of others supported as well). It also works with Home Assistant.

I'm having a few playback issues.

* when playing mp3 (320kbps) all works well, but obviously not ideal
* when playing FLAC it is necessary to manually advance tracks (in either JRiver or Music Assistant)

There's been a lot of discussion on the forums regarding DLNA and the issues with diagnosing issues between different software/hardware and I appreciate this is problematic as every implementation is slightly different (when it works it's fabulous and when it doesn't extremely frustrating).

Music Assistant uses 'chunking' as the default method streaming data from controller to renderer. I've read in an old post that JRiver doesn't cope with 'chunking' for FLAC and I'm not sure if that's still the case - if so that might be the cause of the issue I'm having.

I've tried changing settings within Music Assistant. There is an ability to set 'fixed content length', but at the moment that causes tracks not to finish at the right time (either run short or run long).

What I'm wondering is if there is anything particular to the way that JRiver has implemented DLNA that I should pass to the developers? Or alternatively if it is possible for this chunking issue for FLAC to be addressed (if it is indeed still an issue)?

Thanks in advance for any suggestions and happy to provide more detail if needed.
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72438
  • Where did I put my teeth?
Re: DLNA playback issues in JRiver when using 'Music Assistant'
« Reply #1 on: September 14, 2024, 12:06:51 pm »

You may not need to use any other software.  You could play Tidal or any other program through JRiver by using the WDM Driver:  https://wiki.jriver.com/index.php/WDM_Driver

JRiver's implementation follows the DLNA standard.  A lot of manufacturers test against it.
Logged

sjhilton

  • Junior Woodchuck
  • **
  • Posts: 96
Re: DLNA playback issues in JRiver when using 'Music Assistant'
« Reply #2 on: September 14, 2024, 06:36:07 pm »

Thanks Jim - WDM unfortunately isn't an option for me as all of the clients are on Linux (two different raspberry pi). The other option I had thought of was that I suggest they develop something around MCWS.
Logged

sjhilton

  • Junior Woodchuck
  • **
  • Posts: 96
Re: DLNA playback issues in JRiver when using 'Music Assistant'
« Reply #3 on: September 26, 2024, 09:37:05 pm »

Hi everyone, I just wanted to close the loop on this as I developed a fix/workaround using an automation in Home Assistant. Essentially it takes the duration of the track reported by JRiver and then uses that as the time for a delay before an MCC skip next function is made. This may be helpful to others if they hit this or similar issues with DLNA. This would need to be manually turned on and off in Home Assistant depending upon source (I'm thinking about what I can do to fix that). It uses the excellent JRiver Home Assistant integration.

alias: [insert name for automation]
description: Auto Next Track

trigger:
  - platform: state
    entity_id:
      - sensor.track_duration #sensor defined by reference to media_duration from Media Player for JRiver player in Home Assistant
    enabled: true
condition:
  - condition: template
    value_template: "{{ is_number(trigger.to_state.state) }}"
action:
  - delay:
      seconds: "{{ trigger.to_state.state | int }}"
  - condition: not
    conditions:
      - condition: state
        entity_id: media_player.[insert name of Media Player for JRiver player in Home Assistant]
        state: paused
  - condition: not
    conditions:
      - condition: state
        entity_id: media_player.[insert name of Media Player for JRiver player in Home Assistant]
        state: idle
  - action: jriver.send_mcc
    metadata: {}
    data:
      block: false
      command: 10003 # Command to move to next track
    target:
      device_id: [JRiver instance where playback is occurring]
mode: single
Logged
Pages: [1]   Go Up