shaka-project / shaka-packager

A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.
https://shaka-project.github.io/shaka-packager/
Other
1.97k stars 507 forks source link

Commas in filenames break packager with "Invalid stream descriptors name/value pairs" #1174

Closed dooafus closed 5 months ago

dooafus commented 1 year ago

System info

Operating System: Windows or Linux (tested on both) Shaka Packager Version: 2.6.1 (on both)

Issue and steps to reproduce the problem

Packager Command: packager in="test,comma.mp4" --dump_stream_info or packager in='test,comma.mp4' --dump_stream_info or packager in=test,comma.mp4 --dump_stream_info

All variations result in the error: ERROR:stream_descriptor.cc(106)] Invalid stream descriptors name/value pairs: in="test,comma.mp4"

Also tested on: playlist_name="test,comma.m3u8" init_segment="test,comma.init.mp4" segment_template="test,comma.$Number$.m4s"

Commas do not break the parser for: --mpd_output "test,comma.mpd" (working OK) --hls_master_playlist_output "test,comma.m3u8" (working OK)

aradalvand commented 1 year ago

I'd like to know how commas are supposed to be escaped in stream descriptors too.

emmitrin commented 1 year ago

perhaps it's not possible to use commas there. packager uses the base::SplitStringIntoKeyValuePairs function for parsing stream descriptors and it doesn't seem to check for an escape character

cosmin commented 5 months ago

That's correct, commas are not supported in stream descriptors.