12009-08-30 21:55 moritz 2 3 * [r16537] NEWS, doc/ezstream.1.in.in, src/ezstream.c: 4 Teach ezstream a different mode of operation, as a one-shot line 5 shuffling tool. 6 72009-08-30 21:46 moritz 8 9 * [r16536] src/ezstream.h, src/playlist.c: 10 Support reading playlists from standard input. 11 122009-08-30 20:34 moritz 13 14 * [r16535] examples/Makefile.am, 15 examples/ezstream-file_template.xml: 16 Add an example template configuration for ezstream-file.sh(1). 17 182009-08-30 19:41 moritz 19 20 * [r16534] src/ezstream-file.sh.in: 21 Move the verbose error check where it belongs. 22 232009-08-30 19:38 moritz 24 25 * [r16533] COPYING, doc/ezstream-file.sh.1.in.in, 26 doc/ezstream.1.in.in: 27 Some licensing blah-blah and RCS IDs. 28 292009-08-30 18:28 moritz 30 31 * [r16532] NEWS: 32 Merge two related changes into one bullet point, and set release 33 date to tomorrow. 34 352009-08-30 18:23 moritz 36 37 * [r16531] src/ezstream-file.sh.in: 38 Do not quote $EZSTREAM, which breaks paths with whitespace but 39 allows to smuggle in default command line arguments. 40 412009-08-30 18:22 moritz 42 43 * [r16530] doc/ezstream-file.sh.1.in.in: 44 Tweak. 45 462009-08-30 12:49 moritz 47 48 * [r16529] NEWS, configure.in, doc/Makefile.am, 49 doc/ezstream-file.sh.1.in.in, doc/ezstream.1.in, 50 doc/ezstream.1.in.in, src/Makefile.am, src/ezstream-file.sh.in: 51 Add new wrapper/convenience script ezstream-file.sh -- generates 52 ezstreams on- the-fly. 53 542009-08-29 09:37 moritz 55 56 * [r16528] src/ezstream.c: 57 Remove pointless and (at this point) irritating warning message. 58 592009-08-29 09:36 moritz 60 61 * [r16527] NEWS, src/ezstream.c: 62 The original reason to abort ezstream when running into problems 63 opening a media file was to prevent a very verbose infinite loop 64 (e.g. when accidentially playing an outdated playlist.) Bring 65 that back by aborting after 100 subsequent errors. 66 672009-08-29 09:14 moritz 68 69 * [r16526] NEWS, src/playlist.c: 70 ... also fix ezstream in this regard: No need to complain when 71 receiving such an empty line, and not receiving any output should 72 not be a fatal error. Consider the latter to be 73 "end-of-playlist", too. 74 752009-08-29 09:12 moritz 76 77 * [r16525] examples/playlist-logger.sh: 78 Listen to my own documentation: the end-of-playlist case is 79 indicated by an empty line. But ... 80 812009-08-28 15:55 moritz 82 83 * [r16523] NEWS, examples/Makefile.am, examples/meta.sh, 84 examples/play.sh, examples/playlist-logger.sh: 85 Add a more fancy playlist script. 86 872009-08-22 10:03 moritz 88 89 * [r16497] NEWS, src/ezstream.c: 90 #1585: Continue when openResource() fails. 91 922009-08-01 18:44 moritz 93 94 * [r16388] configure.in, win32/config.h: 95 Post-release version bump. 96 972009-08-01 16:36 moritz 98 99 * [r16383] ChangeLog: 100 Sync. 101 1022009-08-01 16:32 moritz 103 104 * [r16382] m4/taglib.m4: 105 Fix copy+paste'o. 106 1072009-08-01 16:15 moritz 108 109 * [r16381] README: 110 Almost everyone chooses the pkg-config(1) way and installs 111 shout.pc. Document how to configure ezstream on differently 112 enabled systems. ... heh, PC talk is so deliciously nasty. 113 1142009-08-01 16:08 moritz 115 116 * [r16380] m4/libshout.m4: 117 Give it a chance to link statically. 118 1192009-08-01 16:08 moritz 120 121 * [r16379] m4/taglib.m4: 122 Check for taglib_c in the libtag_c test. 123 1242009-08-01 16:01 moritz 125 126 * [r16378] m4/libxml2.m4: 127 Don't use AC_RUN_IFELSE (breaks cross-compiles.) 128 1292009-08-01 15:28 moritz 130 131 * [r16377] m4/libshout.m4: 132 Do not rely on a succesful pkg-config(1) check for libshout2, as 133 there are still some systems where only shout-config gets 134 installed (NetBSD for example.) 135 1362009-08-01 15:26 moritz 137 138 * [r16376] autogen.sh: 139 Fix for non-libtool project. 140 1412009-08-01 13:52 moritz 142 143 * [r16375] autogen.sh: 144 Update to what I use everywhere else now. 145 1462009-08-01 13:50 moritz 147 148 * [r16374] NEWS: 149 Today is (the real) release day. 150 1512009-08-01 13:46 moritz 152 153 * [r16373] m4/ccflags.m4, m4/libshout.m4, m4/libvorbis.m4, 154 m4/libxml2.m4, m4/taglib.m4: 155 Update m4 macros to latest version. 156 1572009-08-01 10:54 moritz 158 159 * [r16372] win32/Makefile.am, win32/tfile.cpp: 160 Add and redistribute tfile.cpp, which I needed to modify in order 161 to build Taglib 1.4 on Windows. This should also satisfy the 162 LGPL. 163 1642009-08-01 10:51 moritz 165 166 * [r16371] win32/Makefile.am: 167 Distribute taglib project files. 168 1692009-08-01 10:49 moritz 170 171 * [r16370] win32/ezstream.sln, win32/ezstream.vcproj, 172 win32/taglib.vcproj, win32/taglib_c.vcproj: 173 Downgrade the Taglib project files to v1.4 -- this actually works 174 now, so hook it up to ezstream. 175 1762009-08-01 09:04 moritz 177 178 * [r16369] win32/taglib.vcproj, win32/taglib_c.vcproj: 179 Make these look like the other project files; maybe it helps with 180 the linking issue (to be tested later.) 181 1822009-07-26 10:52 moritz 183 184 * [r16337] configure.in: 185 Whitespace removal for consistency with other projects. 186 1872009-07-22 20:19 moritz 188 189 * [r16319] NEWS, doc/ezstream.1.in, examples/ezstream_mp3.xml, 190 examples/ezstream_vorbis.xml, src/configfile.c, src/configfile.h, 191 src/util.c: 192 Akos Veres suggested that ezstream should be able to set the 193 login username, and I concur. 194 1952009-07-17 22:52 moritz 196 197 * [r16296] win32/ezstream.sln: 198 Remove taglib projects again. I failed to build a taglib that can 199 be coerced into linking statically with ezstream. *sigh* ... 200 hours of frustrating trial and error for nothing. 201 202 Without a bright idea real soon, the next release -- whose sole 203 purpose is to fix TagLib support on Windows -- will require 204 tag.dll and tag_c.dll to be shipped and installed as well. 205 2062009-07-12 22:05 moritz 207 208 * [r16268] win32/taglib.vcproj, win32/taglib_c.vcproj: 209 EOL style. 210 2112009-07-12 22:03 moritz 212 213 * [r16267] win32/ezstream.sln, win32/taglib.vcproj, 214 win32/taglib_c.vcproj: 215 This still doesn't work right, but commit to avoid losing work. 216 2172009-07-12 16:40 moritz 218 219 * [r16266] NEWS: 220 Actually, no ... *grr*. 221 2222009-07-12 16:27 moritz 223 224 * [r16265] ChangeLog: 225 Sync. 226 2272009-07-12 16:24 moritz 228 229 * [r16264] NEWS: 230 Today is release day. 231 2322009-06-21 14:35 moritz 233 234 * [r16150] src/configfile.h: 235 Actually, we agreed on GPLv2 only ... 236 2372009-06-21 14:21 moritz 238 239 * [r16149] NEWS, README, configure.in, m4/ccflags.m4, 240 m4/libshout.m4, m4/libvorbis.m4, m4/libxml2.m4, m4/progname.m4, 241 m4/taglib.m4, m4/tree.m4, m4/vacopy.m4, m4/vars.m4: 242 Update m4 macros, allowing for more easy control over the build 243 process among other things. Fix a silly bug in --enable-debug 244 while there. 245 2462009-06-21 14:08 moritz 247 248 * [r16148] m4/libogg.m4: 249 No need for this, a direct dependency check on libogg is not 250 being done. 251 2522009-04-21 16:51 moritz 253 254 * [r15943] NEWS: 255 Update. 256 2572009-04-21 16:47 moritz 258 259 * [r15942] win32/config.h: 260 Build with TagLib support. (Ticket #1535) 261 2622009-03-28 22:58 moritz 263 264 * [r15888] win32/compat.h: 265 Add missing newline at end of file. 266 2672009-03-28 22:58 moritz 268 269 * [r15887] win32/config.h: 270 Post-release version bump here, too. 271 2722009-03-28 22:56 moritz 273 274 * [r15886] configure.in: 275 Post-release version bump. 276 2772009-03-28 18:47 moritz 278 279 * [r15881] ChangeLog: 280 Sync. 281 2822009-03-28 18:33 moritz 283 284 * [r15880] NEWS: 285 If everything goes to plan, then today is release day. 286 2872009-03-28 15:40 moritz 288 289 * [r15876] win32/README.win32: 290 vcredist is now a requirement, and mention FLAC. 291 2922009-03-28 13:38 moritz 293 294 * [r15875] examples/ezstream_reencode_mp3.xml, 295 examples/ezstream_reencode_vorbis.xml: 296 Remove -x argument to lame. This makes the examples work for me 297 by default again, with a more recent lame version. 298 2992009-03-28 11:14 moritz 300 301 * [r15874] m4/vars.m4: 302 AX_UNIQVAR_PREPEND needs to reverse its arguments before 303 prepending. 304 3052009-03-19 08:14 moritz 306 307 * [r15799] configure.in: 308 Autoconf/M4 chokes on CRLF line endings in configure.in/.ac, so 309 enforce LF on configure.in. Found out the hard way by Roman 310 Donchenko. 311 3122009-03-18 20:24 moritz 313 314 * [r15798] configure.in, src/compat.c, src/ezstream.h, 315 src/strtonum.c, win32/compat.h, win32/config.h: 316 Finish up the modifications to the Windows build. In case 317 anything remains to be done, it'll be nits. 318 3192009-03-18 20:15 moritz 320 321 * [r15797] src/metadata.c: 322 Mh... compiling before commit would've helped. 323 3242009-03-18 19:57 moritz 325 326 * [r15796] src/metadata.c: 327 Make metadata_get_name() return UTF8, which is what the rest of 328 ezstream now expects. From Roman Donchenko. 329 3302009-03-18 19:55 moritz 331 332 * [r15795] configure.in, src/compat.c, src/ezstream.c, 333 src/ezstream.h, win32/ezstream.vcproj: 334 Repair some fallout from previous commits, and work more on Win32 335 builds. 336 3372009-03-18 09:10 moritz 338 339 * [r15794] configure.in, src/Makefile.am, src/compat.c, 340 src/compat.h, src/configfile.c, src/ezstream.c, src/ezstream.h, 341 src/getopt.c, src/metadata.c, src/playlist.c, src/util.c, 342 src/xalloc.c, src/xalloc.h, win32/compat.h: 343 Work towards cleaner portability goo, and remove some ununsed 344 code while there. 345 3462009-03-17 22:25 moritz 347 348 * [r15793] configure.in, win32/Makefile.am, win32/shout: 349 Adjust auto-fu to handle the changed win32/ stuff. 350 3512009-03-17 22:18 moritz 352 353 * [r15792] win32/compat.h, win32/config.h, win32/ezstream.sln, 354 win32/ezstream.vcproj, win32/libflac.vcproj, win32/libogg.vcproj, 355 win32/libshout.vcproj, win32/libspeex.vcproj, 356 win32/libtheora.vcproj, win32/libvorbis.vcproj, 357 win32/libvorbisfile.vcproj, win32/libz.vcproj, win32/shout, 358 win32/shout/Makefile.am, win32/shout/shout.h: 359 After having lost the previous build environment some time ago, I 360 had to start over completely. What a chore ... Anyways, commit 361 this to make it easier to get back to a MSVC build, in case this 362 happens again. 363 3642009-03-17 18:56 moritz 365 366 * [r15791] NEWS: 367 Write complete sentences. 368 3692009-03-17 18:32 moritz 370 371 * [r15790] configure.in, doc/Makefile.am, doc/ezstream.1.in: 372 Set the manual date to the build date. 373 3742009-03-17 18:29 moritz 375 376 * [r15789] COPYING, src/compat.h, src/configfile.c, src/ezstream.c, 377 src/metadata.c, src/playlist.c, src/util.c: 378 Bump copyright year where applicable. 379 3802009-03-17 18:20 moritz 381 382 * [r15788] COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, 383 autogen.sh, build-aux/Makefile.am, build-aux/config.rpath, 384 compat/Makefile.am, compat/sys/Makefile.am, compat/sys/tree.3, 385 compat/sys/tree.h, configure.in, doc/Makefile.am, 386 doc/ezstream.1.in, examples/Makefile.am, 387 examples/ezstream_metadata.xml, examples/ezstream_mp3.xml, 388 examples/ezstream_reencode_mp3.xml, 389 examples/ezstream_reencode_theora.xml, 390 examples/ezstream_reencode_vorbis.xml, 391 examples/ezstream_stdin_vorbis.xml, examples/ezstream_vorbis.xml, 392 examples/meta.sh, examples/play.sh, m4/Makefile.am, 393 m4/ccflags.m4, m4/libogg.m4, m4/libshout.m4, m4/libvorbis.m4, 394 m4/libxml2.m4, m4/progname.m4, m4/taglib.m4, m4/tree.m4, 395 m4/vacopy.m4, m4/vars.m4, mkcl.sh, src/Makefile.am, src/compat.c, 396 src/compat.h, src/configfile.c, src/configfile.h, src/ezstream.c, 397 src/getopt.c, src/metadata.c, src/metadata.h, src/playlist.c, 398 src/playlist.h, src/strfctns.h, src/strlcat.c, src/strlcpy.c, 399 src/strtonum.c, src/util.c, src/util.h, src/xalloc.c, 400 src/xalloc.h, win32/Makefile.am, win32/README.win32, 401 win32/config.h, win32/ezstream.sln, win32/ezstream.vcproj: 402 Native EOL-style, and Id tags in a couple of places. 403 4042009-03-17 18:07 moritz 405 406 * [r15787] README: 407 Consistent formatting. 408 4092009-03-17 18:03 moritz 410 411 * [r15786] NEWS: 412 Mention the miscellaneous stuff I also did. 413 4142009-03-16 22:59 moritz 415 416 * [r15782] Makefile.am, NEWS, README, configure.in, 417 m4/libvorbis.m4, m4/taglib.m4, src/metadata.c: 418 #1398: Make optional components optional. (For real.) 419 4202009-03-16 20:39 moritz 421 422 * [r15781] src/compat.c: 423 It's stupid to put my own copyright on a file where I didn't 424 really write the code. Luckily, I had the proper copyright 425 statement in there already, so moving it fixes things. 426 4272009-03-16 20:22 moritz 428 429 * [r15780] src/configfile.c, src/ezstream.c, src/metadata.c, 430 src/playlist.c, src/util.c: 431 Squelch another bunch of warnings after checking that what's 432 happening is what's wanted. 433 4342009-03-16 20:12 moritz 435 436 * [r15779] configure.in, src/Makefile.am, src/compat.h, 437 src/ezstream.c, src/getopt.c, src/getopt.h: 438 Use a wrapper around getopt() for portability. This uses the 439 system getopt() whenever possible, and otherwise uses a stripped 440 down, single options only, BSD getopt() (which is smaller and 441 doesn't come with ifdef-stuff-in-features.h.) 442 4432009-03-16 19:51 moritz 444 445 * [r15778] src/util.c: 446 Guarantee that iconvert() never returns NULL. This is a clumsy, 447 but effective way to prevent NULL dereferences after the recent 448 character conversion changes in other parts of ezstream. 449 4502009-03-16 00:40 moritz 451 452 * [r15777] configure.in, m4/taglib.m4: 453 Unbreak the TagLib checks. 454 4552009-03-16 00:08 moritz 456 457 * [r15776] Makefile.am, NEWS, README, autogen.sh, 458 build-aux/Makefile.am, compat/Makefile.am, 459 compat/sys/Makefile.am, configure.in, doc/Makefile.am, 460 examples/Makefile.am, m4/Makefile.am, m4/ccflags.m4, 461 m4/libogg.m4, m4/libshout.m4, m4/libvorbis.m4, m4/libxml2.m4, 462 m4/progname.m4, m4/taglib.m4, m4/tree.m4, m4/vacopy.m4, 463 m4/vars.m4, m4/xiph_compiler.m4, m4/xiph_xml2.m4, 464 src/Makefile.am, win32/Makefile.am: 465 Overhaul the ezstream build system, using my own library of 466 autoconf macros. There are a few benefits to this, but the main 467 reason is consistency and me completely understanding what's 468 going on. Regressions are not expected, but wouldn't surprise 469 either ... this needs lots of testing. 470 4712009-03-15 17:18 moritz 472 473 * [r15775] src/configfile.c, src/ezstream.c, src/metadata.c, 474 src/playlist.c, src/util.c, src/util.h: 475 Assorted type fixes, unshadowing of variables, etc. 476 4772009-03-15 13:15 moritz 478 479 * [r15774] m4/Makefile.am, m4/shout.m4: 480 "pkg-config --libs shout" has produced correct results for a long 481 time now, making a custom shout.m4 obsolete. 482 4832009-03-15 13:13 moritz 484 485 * [r15773] m4/iconv.m4: 486 Remove iconv.m4, it comes with gettext (i.e. gettext-devel) 487 packages. 488 4892009-03-15 13:12 moritz 490 491 * [r15772] m4/Makefile.am, m4/ogg.m4, m4/vorbis.m4: 492 Remove ogg.m4 and vorbis.m4; the ones installed by libogg/-vorbis 493 are fine. 494 4952009-03-15 11:15 moritz 496 497 * [r15771] NEWS: 498 Update. 499 5002009-03-15 11:05 moritz 501 502 * [r15770] src/configfile.c, src/ezstream.c: 503 Perform more charset conversions where necessary. This should fix 504 the handling of files with non-ASCII filenames, as well as some 505 more cases related to metadata. From Roman Donchenko <DXDragon at 506 yandex dot ru>, with some minor fixes by myself. 507 5082009-03-15 11:00 moritz 509 510 * [r15769] src/compat.h: 511 Fixes for MinGW. From Roman Donchenko <DXDragon at yandex dot 512 ru>. 513 5142009-03-15 10:59 moritz 515 516 * [r15768] src/util.h: 517 Add missing include for shout_t. From Roman Donchenko <DXDragon 518 at yandex dot ru>. 519 5202009-03-15 10:55 moritz 521 522 * [r15767] NEWS, compat/sys/tree.3, compat/sys/tree.h: 523 Update tree macros. The manual now actually has an acceptable 524 license. 525 5262007-12-01 21:43 moritz 527 528 * [r14260] configure.in, win32/config.h: 529 Post-release version bump. 530 5312007-12-01 21:21 moritz 532 533 * [r14257] ChangeLog: 534 Sync. 535 5362007-12-01 21:13 moritz 537 538 * [r14256] NEWS: 539 It has been very quiet after 0.5.2, so get this minor bugfix 540 release out the door today. 541 5422007-12-01 16:02 moritz 543 544 * [r14255] NEWS, src/ezstream.c: 545 Ignore SIGPIPE, which turned out to be the cause for silent 546 deaths of long- running ezstream processes. 547 5482007-11-04 14:34 moritz 549 550 * [r14101] configure.in, win32/config.h: 551 Post-release version bump. 552 5532007-11-04 13:52 moritz 554 555 * [r14097] ChangeLog: 556 Sync. 557 5582007-11-04 13:50 moritz 559 560 * [r14096] NEWS: 561 Today is release day, finally. 562 5632007-11-04 13:43 moritz 564 565 * [r14095] NEWS: 566 Sync. 567 5682007-11-04 13:40 moritz 569 570 * [r14094] examples/Makefile.am, 571 examples/ezstream_reencode_mp3.xml, 572 examples/ezstream_reencode_theora.xml, 573 examples/ezstream_reencode_vorbis.xml, 574 examples/ezstream_reencoding_example_mp3.xml, 575 examples/ezstream_reencoding_example_theora.xml, 576 examples/ezstream_reencoding_example_vorbis.xml, 577 examples/ezstream_stdin_vorbis.xml: 578 * Add new configuration example for streaming from standard 579 input. * Rename reencoding examples to shorter and less redundant 580 filenames. 581 5822007-11-04 13:09 moritz 583 584 * [r14093] examples/ezstream_reencoding_example_mp3.xml, 585 examples/ezstream_reencoding_example_theora.xml, 586 examples/ezstream_reencoding_example_vorbis.xml: 587 Improve the reencoding examples; more usable defaults and add 588 more options to create a more well-defined stream of raw samples. 589 5902007-10-18 07:39 moritz 591 592 * [r14010] NEWS: 593 Sync. 594 5952007-10-18 07:39 moritz 596 597 * [r14009] src/ezstream.c: 598 Improve output messages some more when dealing with standard 599 input. 600 6012007-10-18 06:38 moritz 602 603 * [r14008] src/xalloc.c: 604 Wow, now how did that one creep in an remain undetected for so 605 long? 606 6072007-10-16 14:51 moritz 608 609 * [r14000] NEWS: 610 Update. 611 6122007-10-16 14:51 moritz 613 614 * [r13999] src/ezstream.c: 615 This needs changin' as well. 616 6172007-10-16 14:46 moritz 618 619 * [r13998] src/ezstream.c: 620 Fix use of yet another uninitialized-if-streaming-from-stdin 621 variable. This prevents bogus output in the "real-time" status 622 line. 623 6242007-10-16 14:44 moritz 625 626 * [r13997] src/ezstream.c: 627 Return a proper error message when there's no more data to read 628 from standard input. 629 6302007-10-16 14:28 moritz 631 632 * [r13996] src/ezstream.c: 633 Ticket #1247: Don't dereference uninitialized junk pointers; this 634 fixes a crash when streaming standard input without also using a 635 metadata program (d'oh.) 636 6372007-09-16 12:50 moritz 638 639 * [r13840] NEWS: 640 Post-release tweak: Add Ticket number. 641 6422007-09-16 12:49 moritz 643 644 * [r13839] configure.in, win32/config.h: 645 Bump version number after the 0.5.1 release. 646 6472007-09-16 12:23 moritz 648 649 * [r13835] ChangeLog: 650 Sync. 651 6522007-09-16 12:20 moritz 653 654 * [r13834] NEWS: 655 0.5.1 will be released today. 656 6572007-09-14 07:01 moritz 658 659 * [r13803] NEWS: 660 Update. 661 6622007-09-14 07:01 moritz 663 664 * [r13802] src/ezstream.c: 665 Warn, in verbose mode, when dealing with empty playlists. 666 6672007-09-14 07:00 moritz 668 669 * [r13801] src/playlist.c: 670 In this case, the pl->num check is superfluous. 671 6722007-09-14 06:59 moritz 673 674 * [r13800] src/playlist.c: 675 If there are no playlist entries, dereferencing pl->list causes a 676 segfault. Fix this by checking pl->num early. 677 6782007-08-31 17:19 moritz 679 680 * [r13678] configure.in, win32/config.h: 681 Bump version number after the 0.5.0 release. 682 6832007-08-31 16:22 moritz 684 685 * [r13672] ChangeLog: 686 Sync. 687 6882007-08-31 16:02 moritz 689 690 * [r13671] configure.in: 691 -Wno-unused-parameter breaks gcc2, remove it. 692 6932007-08-31 15:55 moritz 694 695 * [r13670] configure.in: 696 Try harder to link against TagLib. 697 6982007-08-31 11:49 moritz 699 700 * [r13669] NEWS: 701 Today is release day. 702 7032007-08-31 11:47 moritz 704 705 * [r13668] NEWS, configure.in, src/compat.h, src/ezstream.c, 706 src/util.c, src/util.h, win32/config.h: 707 gettimeofday() everywhere; now ezstream behaves almost the same 708 on Windows compared to Unix. Also mention TagLib support on 709 Windows in NEWS. 710 7112007-08-31 11:46 moritz 712 713 * [r13667] src/compat.c: 714 Fake the location of my basename() source to be more clear. 715 7162007-08-31 01:59 moritz 717 718 * [r13665] win32/README.win32: 719 Having TagLib on Windows means that reading metadata from files 720 should work like elsewhere now. While here, do some minor 721 tweaking as well. 722 7232007-08-31 01:48 moritz 724 725 * [r13664] win32/ezstream.sln, win32/ezstream.vcproj: 726 ezstream.exe is now using TagLib as well. 727 7282007-08-30 18:36 moritz 729 730 * [r13662] win32/README.win32: 731 Tweak, sync with what will be the new reality soon, and include 732 COPYING.txt in the future. 733 7342007-08-30 12:27 moritz 735 736 * [r13660] NEWS: 737 Document a few extra nits that also happened so far. 738 7392007-08-30 12:13 moritz 740 741 * [r13659] doc/ezstream.1.in: 742 Sync with new reality, and fix a completely botched up sentence. 743 7442007-08-30 11:31 moritz 745 746 * [r13658] src/ezstream.c, src/util.c, src/util.h: 747 * Back out conversions to ISO8859-1. * Add 'charset=UTF-8' to the 748 metadata update query arguments. The current release of Icecast 749 will ignore it, and the next one will know how to handle it 750 (karl@ is still working on it at this point, but previous diffs 751 worked as advertised.) * If no metadata format string is 752 available and we have both an artist and a title, use the 753 artist/title way of updating instead of the generic "song" 754 interface. 755 7562007-08-26 14:31 moritz 757 758 * [r13632] configure.in: 759 When configure found libiconv, it helps to also have it use that 760 information to properly link against it. Problem spotted and fix 761 tested by iCER on #icecast. 762 7632007-08-25 15:07 moritz 764 765 * [r13627] doc/ezstream.1.in: 766 Expand the "Metadata Caveats" subsection wrt codesets and actual 767 abilities of ezstream and Icecast. 768 7692007-08-25 14:37 moritz 770 771 * [r13626] src/util.c: 772 Need to consider converting from an unknown/unsupported codeset 773 as well. 774 7752007-08-25 14:16 moritz 776 777 * [r13624] src/util.c: 778 Whoops. Fix error message ... 779 7802007-08-25 12:24 moritz 781 782 * [r13622] src/ezstream.c, src/metadata.c, src/util.c, src/util.h: 783 Get closer to what Icecast does (or will) expect wrt used 784 codesets. I still disagree with the new ISO-8859-1 assumption for 785 non-Ogg streams, because (for example) with ID3 tags, a codeset 786 is simply not part of the specification and a better assumption 787 would be that they are in the user's locale. Therefore, it would 788 make more sense, IMO, to clearly specify that ANY metadata sent 789 to Icecast should be UTF-8 and let the source client figure out 790 the rest. This would also answer the question what codeset an 791 /admin user should use if the content type of a mountpoint isn't 792 known (although that can be figured out with an unclean read of 793 the mountpoint's stats beforehand.) 794 7952007-08-24 17:23 moritz 796 797 * [r13616] src/util.c: 798 Less code is always better. 799 8002007-08-24 12:37 moritz 801 802 * [r13611] README: 803 Mention optional iconv() dependency. 804 8052007-08-24 12:09 moritz 806 807 * [r13610] NEWS: 808 Add ticket no. to the MP3 metadata fix. 809 8102007-08-24 11:57 moritz 811 812 * [r13609] NEWS, configure.in, doc/ezstream.1.in, src/ezstream.c, 813 src/metadata.c, src/util.c, win32/config.h, 814 win32/ezstream.vcproj: 815 UTF-8 support is now ready to be used. 816 8172007-08-24 00:52 moritz 818 819 * [r13607] ., Makefile.am, build-aux, build-aux/Makefile.am, 820 build-aux/config.rpath, configure.in, m4/iconv.m4, src/util.c, 821 src/util.h: 822 Work in progress: Proper UTF-8 support that doesn't affect 823 console output. No new code is actually used, yet, as there's 824 still more work to be done. This adds the whole iconv-related 825 build stuff and moves most auto* files into build-aux/. 826 8272007-08-24 00:46 moritz 828 829 * [r13606] src/metadata.c: 830 Fix native ID3v1 reading (no-op, since affected fields were not 831 used.) 832 8332007-08-23 13:48 moritz 834 835 * [r13592] src/ezstream.c: 836 Change the MP3 special case, so working with metadata is more 837 flexible. Turns out that there is still a problem with MP3 838 streams that are being reencoded. This allows me to try out more 839 solutions. 840 8412007-08-22 18:29 moritz 842 843 * [r13589] NEWS: 844 Consistency + typo fix. 845 8462007-08-22 15:19 moritz 847 848 * [r13587] doc/ezstream.1.in, src/ezstream.c: 849 The -c parameter is not optional. 850 8512007-08-22 15:15 moritz 852 853 * [r13586] src/ezstream.c, src/util.c, src/util.h: 854 Make main() smaller by moving the libshout setup into a separate 855 function. 856 8572007-08-14 04:10 moritz 858 859 * [r13546] win32/config.h: 860 Bump version numbers here, too. 861 8622007-08-14 04:08 moritz 863 864 * [r13545] NEWS: 865 Sync. 866 8672007-08-14 03:43 moritz 868 869 * [r13544] doc/ezstream.1.in, src/ezstream.c, src/metadata.c, 870 src/metadata.h: 871 Ticket #1225, reported by matpoc at lenta dot ru: Looks like 872 there's demand for normalizing metadata strings, which -- I 873 assume -- is due to strange (MP3) encoders that do weird things. 874 Well, why not. It's not too intrusive, and disabled by default. 875 Enable string normalization with the new -n command line 876 parameter. 877 8782007-08-14 03:33 moritz 879 880 * [r13543] configure.in: 881 Bump to 0.5.0, new feature coming up. 882 8832007-08-14 03:32 moritz 884 885 * [r13542] src/ezstream.c, src/util.c, src/util.h: 886 Ticket #1225, reported by matpoc at lenta dot ru: Bring back 887 special case for streaming MP3 files without reencoding, which 888 was lost during the many changes in 0.3.0 and subsequently 889 forgotten. Sorry for the inconvenience, and thanks for the 890 report. 891 8922007-08-09 11:13 moritz 893 894 * [r13494] win32/ezstream.sln, win32/ezstream.vcproj: 895 More build tweaks. The only thing that still doesn't work by now 896 is building a static, thread-safe libshout. Bugger all, this can 897 wait until if/when I need threads. 898 8992007-08-08 21:52 moritz 900 901 * [r13467] src/playlist.c: 902 Since playlist_t is using size_t, change two unsigned longs to 903 size_t as well. 904 9052007-08-08 21:33 moritz 906 907 * [r13466] win32/config.h, win32/ezstream.sln, 908 win32/ezstream.vcproj: 909 More Win32 project and build cleanups. 910 9112007-08-08 14:21 moritz 912 913 * [r13464] win32/ezstream.sln, win32/ezstream.vcproj: 914 Reorder project list and add xalloc.* to the build. 915 9162007-08-08 14:20 moritz 917 918 * [r13463] src/ezstream.c, win32/config.h: 919 WIN32 #ifdef reduction. 920 9212007-08-08 13:46 moritz 922 923 * [r13462] configure.in: 924 A few tweaks: * Get ISO C99 from the compiler, if possible. * 925 Check for ssize_t for --enable-debug portability. * Add 926 AC_C_VOLATILE check, because we use it. 927 9282007-08-08 13:25 moritz 929 930 * [r13461] win32/config.h: 931 Damn, it looks like I forgot to update this for the Win32 builds 932 ... 933 9342007-08-08 13:24 moritz 935 936 * [r13460] src/xalloc.c: 937 Sync. 938 9392007-08-08 13:15 moritz 940 941 * [r13458] src/ezstream.c: 942 Rename shutdown() to ez_shutdown() to prevent a function name 943 clash on Windows. 944 9452007-08-08 13:04 moritz 946 947 * [r13457] src/metadata.c, src/playlist.c: 948 Use a better \n and \r trimming idiom after fgets(). 949 9502007-08-04 17:24 moritz 951 952 * [r13443] src/xalloc.c, src/xalloc.h: 953 It's good to know how to spell the own email address. 954 9552007-08-04 17:10 moritz 956 957 * [r13441] src/xalloc.c: 958 Merge. 959 9602007-08-04 17:10 moritz 961 962 * [r13440] src/playlist.c: 963 Sprinkle in some consistency ... 964 9652007-08-04 17:04 moritz 966 967 * [r13438] src/configfile.c, src/configfile.h, src/ezstream.c: 968 Do a clean shutdown on SIGINT and SIGTERM. 969 9702007-08-04 16:46 moritz 971 972 * [r13437] src/xalloc.c, src/xalloc.h: 973 Merge xalloc changes. 974 9752007-08-04 16:39 moritz 976 977 * [r13436] src/ezstream.c, src/metadata.c, src/playlist.c: 978 Now that xalloc is pretty much an external entity, explicitly set 979 freed pointers to NULL if we lateron expect them to be NULL (no 980 longer rely on xalloc to do this for us.) 981 9822007-08-04 16:09 moritz 983 984 * [r13433] src/metadata.c: 985 Do not xfree() something that wasn't x*alloc()'ed. 986 9872007-08-02 18:50 moritz 988 989 * [r13432] configure.in: 990 Make PACKAGE_BUGREPORT point to the bug tracker URI. 991 9922007-08-02 18:48 moritz 993 994 * [r13431] Makefile.am, NEWS, README, compat, compat/Makefile.am, 995 compat/sys, compat/sys/Makefile.am, compat/sys/tree.3, 996 compat/sys/tree.h, configure.in, src/Makefile.am, 997 src/configfile.c, src/ezstream.c, src/metadata.c, src/playlist.c, 998 src/util.c, src/util.h, src/xalloc.c, src/xalloc.h: 999 Switch to using the (integrated) libxalloc. 1000 10012007-07-24 15:29 moritz 1002 1003 * [r13304] src/ezstream.c, src/metadata.c: 1004 Cosmetic changes; no functional change. Use the calloc()-style 1005 API correctly. 1006 10072007-07-24 15:13 moritz 1008 1009 * [r13303] src/util.c: 1010 Cosmetic changes. No functional change. 1011 10122007-07-24 13:44 moritz 1013 1014 * [r13302] configure.in: 1015 Bump version number after the 0.4.3 release. 1016 10172007-07-24 13:21 moritz 1018 1019 * [r13298] ChangeLog: 1020 Sync. 1021 10222007-07-24 13:20 moritz 1023 1024 * [r13297] NEWS: 1025 Another bugfix, another 0.4.x release. 1026 10272007-07-24 13:04 moritz 1028 1029 * [r13296] src/ezstream.c: 1030 Fix the dang file descriptor leak of < 0.4.1 for good; the old 1031 fix only took care of it partially. Diagnosed with the help from 1032 someone, who wishes to stay anonymous. Thanks! 1033 10342007-07-17 15:16 moritz 1035 1036 * [r13279] configure.in: 1037 Bump the version number after the 0.4.2 release. 1038 10392007-07-17 14:47 moritz 1040 1041 * [r13275] ChangeLog: 1042 Sync 1043 10442007-07-17 14:45 moritz 1045 1046 * [r13274] NEWS: 1047 Get this out the door today, no need to hold back. 1048 10492007-07-16 00:32 moritz 1050 1051 * [r13272] NEWS, src/ezstream.c: 1052 D'oh! Make <stream_once/> work with playlists as well. Problem 1053 description found in the Icecast mailing list archive, in a mail 1054 by Geoff Shang, via Google. Let's hope that the bug tracker 1055 prevents this kind of bug hunting in the future ... 1056 10572007-07-15 19:16 moritz 1058 1059 * [r13270] win32/README.win32: 1060 Provide a pointer to the home page to Windows users. 1061 10622007-07-15 19:11 moritz 1063 1064 * [r13269] configure.in: 1065 Bump version number after the 0.4.1 release. 1066 10672007-07-15 16:38 moritz 1068 1069 * [r13265] ChangeLog: 1070 Update. 1071 10722007-07-15 16:37 moritz 1073 1074 * [r13264] NEWS: 1075 This will be released today. 1076 10772007-07-14 01:32 moritz 1078 1079 * [r13259] COPYING, doc/ezstream.1.in, src/compat.c, src/compat.h, 1080 src/configfile.c, src/configfile.h, src/ezstream.c, 1081 src/metadata.c, src/metadata.h, src/playlist.c, src/playlist.h, 1082 src/util.c, src/util.h: 1083 Change my email address to the new one. 1084 10852007-07-14 01:27 moritz 1086 1087 * [r13258] NEWS: 1088 Update. 1089 10902007-07-14 01:20 moritz 1091 1092 * [r13257] src/ezstream.c: 1093 Plug an fd leak, triggered by using -q. 1094 10952007-07-13 10:45 moritz 1096 1097 * [r13253] README: 1098 Spelingk, and fmt -78. 1099 11002007-07-13 10:30 moritz 1101 1102 * [r13252] doc/ezstream.1.in: 1103 Spelink. 1104 11052007-03-11 05:17 moritz 1106 1107 * [r12724] configure.in, win32/config.h: 1108 Bump version number after the 0.4.0 release. 1109 11102007-03-11 05:04 moritz 1111 1112 * [r12720] ChangeLog: 1113 sync 1114 11152007-03-11 04:39 moritz 1116 1117 * [r12719] NEWS: 1118 Release coming up today. 1119 11202007-03-11 03:49 moritz 1121 1122 * [r12718] NEWS: 1123 fixes 1124 11252007-03-11 00:28 moritz 1126 1127 * [r12717] src/metadata.c: 1128 Make this build on Windows and not segfault the MIPSpro C 1129 compiler version <7.2. 1130 11312007-03-11 00:02 moritz 1132 1133 * [r12716] doc/ezstream.1.in: 1134 Formatting improvements, and some minor rewording. 1135 11362007-03-10 23:36 moritz 1137 1138 * [r12715] win32/Makefile.am: 1139 Missed a conf -> examples change here. 1140 11412007-03-10 23:28 moritz 1142 1143 * [r12714] src/metadata.c: 1144 taglib_file_audioproperties returns const 1145 11462007-03-10 22:44 moritz 1147 1148 * [r12713] src/metadata.c: 1149 Remove unreachable statement. 1150 11512007-03-10 21:23 moritz 1152 1153 * [r12712] NEWS, src/metadata.c, src/playlist.c: 1154 Do not execute group-/world-writeable playlist and metadata 1155 scripts. 1156 11572007-03-10 21:18 moritz 1158 1159 * [r12711] NEWS, src/ezstream.c, src/metadata.c, src/metadata.h: 1160 Include the total playing time of a song in the "real-time" 1161 output, if TagLib supplies it. 1162 11632007-03-10 20:13 moritz 1164 1165 * [r12710] Makefile.am, conf, configure.in, examples, 1166 examples/Makefile.am, examples/ezstream_metadata.xml, 1167 examples/ezstream_mp3.xml, 1168 examples/ezstream_reencoding_example_mp3.xml, 1169 examples/ezstream_reencoding_example_theora.xml, 1170 examples/ezstream_reencoding_example_vorbis.xml, 1171 examples/ezstream_vorbis.xml, examples/meta.sh, examples/play.sh, 1172 win32/README.win32: 1173 Move conf/ to examples/. Add ezstream_metadata.xml and two 1174 minimalistic example scripts. 1175 11762007-03-10 19:03 moritz 1177 1178 * [r12707] NEWS, doc/ezstream.1.in, src/configfile.c, 1179 src/configfile.h, src/ezstream.c, src/metadata.c, src/metadata.h: 1180 More metadata featuritis, add <metadata_format/> and implement 1181 support for '@a@', '@t@' and '@s@'. 1182 11832007-03-10 02:27 moritz 1184 1185 * [r12701] src/configfile.c, src/configfile.h, src/ezstream.c, 1186 src/metadata.c, src/metadata.h: 1187 Commit work-in-progress towards more fine-grained control over 1188 metadata. This has not been checked for changes to previous 1189 behavior and isn't complete, yet. More to come. 1190 11912007-03-09 13:43 moritz 1192 1193 * [r12698] Makefile.am, src/ezstream.c, win32/Makefile.am, 1194 win32/README.win32: 1195 Various tweakings, and sync Win32 README with new reality. 1196 11972007-03-09 02:30 moritz 1198 1199 * [r12693] NEWS, doc/ezstream.1.in, src/configfile.c, 1200 src/configfile.h, src/ezstream.c, src/metadata.c, src/metadata.h: 1201 Add new <metadata_progname> configuration option, which specifies 1202 an external program/script to get metadata from. Also include 1203 SIGUSR2 handling that triggers metadata updates from the external 1204 program mid-stream. 1205 12062007-03-09 02:24 moritz 1207 1208 * [r12692] src/playlist.c: 1209 Squash a bug that I introduced a few hours ago ... 1210 12112007-03-09 01:52 moritz 1212 1213 * [r12691] Makefile.am: 1214 Commit forgotten /Makefile.am change (new regen-win32: target). 1215 12162007-03-09 01:49 moritz 1217 1218 * [r12690] NEWS: 1219 sync 1220 12212007-03-09 01:49 moritz 1222 1223 * [r12689] win32/Makefile.am, win32/ezstream.1.html: 1224 Kill off the ugly HTML page. Replace with a regen-win32: target 1225 in Makefile.am that automatically generates a PDF version of the 1226 current man page (PDF not included in the source tarball.) 1227 12282007-03-09 01:44 moritz 1229 1230 * [r12688] win32/README.win32: 1231 Update with blurp about limited functionality. 1232 12332007-03-08 21:38 moritz 1234 1235 * [r12686] src/ezstream.c, src/playlist.c: 1236 Shrink buffers to PATH_MAX. 1237 12382007-03-08 20:59 moritz 1239 1240 * [r12685] src/ezstream.c, src/playlist.c, src/playlist.h: 1241 Fix playlist_free() as well ... 1242 12432007-03-08 20:24 moritz 1244 1245 * [r12684] NEWS, README, configure.in, src/Makefile.am, 1246 src/metadata.c: 1247 Working TagLib support (optional.) 1248 12492007-03-08 19:46 moritz 1250 1251 * [r12683] src/compat.h: 1252 Define SIZE_T_MAX to the real maximum of size_t. 1253 12542007-03-08 19:45 moritz 1255 1256 * [r12682] win32/ezstream.vcproj: 1257 sync 1258 12592007-03-08 15:25 moritz 1260 1261 * [r12681] src/ezstream.c, src/metadata.c, src/metadata.h: 1262 Hmph. I've been stepping into the copy-of-pointer trap twice now. 1263 Fix it again. 1264 12652007-03-08 14:39 moritz 1266 1267 * [r12680] configure.in, src/Makefile.am, src/ezstream.c, 1268 src/metadata.c, src/metadata.h: 1269 Iterate towards optional TagLib support, as well as scripted 1270 metadata support. This is just the first step and equivalent to 1271 current functionality. 1272 12732007-03-08 14:36 moritz 1274 1275 * [r12679] configure.in, win32/config.h: 1276 New features coming up, bump version to 0.4.0 1277 12782007-03-08 14:34 moritz 1279 1280 * [r12678] NEWS: 1281 sync 1282 12832007-03-08 01:12 moritz 1284 1285 * [r12677] src/util.c, src/util.h: 1286 Replace the very broken xfree() function with an xfree() macro - 1287 the main point was to set ptr to NULL, but the function only set 1288 the copy of ptr to NULL. Spotted by Karl Heyes, thanks a lot! 1289 12902007-03-07 23:39 moritz 1291 1292 * [r12676] src/playlist.c: 1293 Remove redundant code since the switch to xfree(). 1294 12952007-03-07 21:01 moritz 1296 1297 * [r12673] src/Makefile.am, src/compat.c, src/compat.h, 1298 src/configfile.c, src/ezstream.c, src/playlist.c, src/util.c, 1299 src/util.h, win32/ezstream.vcproj: 1300 More code reorganization, move compatibility and utility 1301 functions out of ezstream.c. Use a basename() function for 1302 Windows that behaves identical to a modern Unix' basename(). 1303 13042007-03-07 12:53 moritz 1305 1306 * [r12672] src/configfile.c: 1307 cosmetics 1308 13092007-03-06 14:11 moritz 1310 1311 * [r12666] ., conf, doc, m4, src, win32: 1312 Ignore generated files. 1313 13142007-03-06 14:02 moritz 1315 1316 * [r12665] configure.in, win32/config.h: 1317 Bump version number after the 0.3.0 release. 1318 13192007-03-05 02:03 moritz 1320 1321 * [r12639] ChangeLog: 1322 regen 1323 13242007-03-05 01:01 moritz 1325 1326 * [r12637] win32/ezstream.1.html: 1327 regen 1328 13292007-03-05 00:51 moritz 1330 1331 * [r12636] doc/ezstream.1.in: 1332 Fix a typo, and reword a few sentences to make them easier to 1333 understand. 1334 13352007-03-04 23:58 moritz 1336 1337 * [r12635] NEWS: 1338 Add release date. This is definitely going out today... 1339 13402007-03-04 21:19 moritz 1341 1342 * [r12634] ChangeLog: 1343 regen 1344 13452007-03-04 21:12 moritz 1346 1347 * [r12633] README: 1348 Sync with the blurb on the new home page. 1349 13502007-03-04 15:59 moritz 1351 1352 * [r12630] src/configfile.c: 1353 Fix logic error and prevent an endless loop on error(s) in the 1354 config file. 1355 13562007-03-04 15:50 moritz 1357 1358 * [r12629] src/playlist.c: 1359 While rand() being crappy is true for most/all *nix systems, on 1360 Windows, this is different. The shifting severely screwed up its 1361 randomness. Just leave it away and systems that only have a bad 1362 version of rand() will have to just deal with it. 1363 13642007-03-04 15:16 moritz 1365 1366 * [r12628] COPYING, NEWS, src/configfile.c, src/ezstream.c, 1367 win32/README.win32: 1368 More pre-release maintenance. 1369 13702007-03-04 14:29 moritz 1371 1372 * [r12627] win32/Makefile.am, win32/README.win32, win32/config.h, 1373 win32/ezstream.1.html, win32/ezstream.sln, win32/ezstream.vcproj: 1374 Yay. I finally managed to build a statically linked and 1375 self-contained ezstream.exe. Update, and regen the HTML man page 1376 for -V. 1377 13782007-03-04 14:27 moritz 1379 1380 * [r12626] doc/ezstream.1.in, src/ezstream.c: 1381 Add -V command line parameter to print the version number and 1382 exit. 1383 13842007-03-03 20:20 moritz 1385 1386 * [r12621] win32/Makefile.am, win32/README.win32, 1387 win32/ezstream.1.html, win32/ezstream.sln, win32/ezstream.vcproj: 1388 More, rather evil Windows stuff. This is about as far as I'm 1389 willing to go for now. Volunteers willing to take all this 1390 Windows stuff off my hands are very welcome. ;-) 1391 13922007-03-03 20:17 moritz 1393 1394 * [r12620] src/compat.h, src/configfile.c, src/ezstream.c, 1395 src/strtonum.c: 1396 Some more cosmetic tweaks. 1397 13982007-03-03 17:50 moritz 1399 1400 * [r12617] src/ezstream.c: 1401 Forgot one PATH_SEPARATOR instance ... 1402 14032007-03-03 17:48 moritz 1404 1405 * [r12616] src/ezstream.c: 1406 Use size_t in strrcmp(). 1407 14082007-03-03 16:13 moritz 1409 1410 * [r12615] src/Makefile.am, src/compat.h, src/ezstream.c, 1411 src/playlist.c, win32/Makefile.am, win32/ezstream.dsp, 1412 win32/ezstream.dsw, win32/ezstream.iss, win32/ezstream.sln, 1413 win32/ezstream.vcproj: 1414 Iterate back towards working Windows support. 1415 14162007-03-03 12:42 moritz 1417 1418 * [r12614] src/ezstream.c: 1419 STDERR_FILENO -> fileno(stderr), and fix a brain'o: Systems with 1420 limited or no signals support obviously don't have 1421 SIG_HUP/SIG_USR1 defined. 1422 14232007-03-02 12:52 moritz 1424 1425 * [r12603] configure.in, src/Makefile.am, src/configfile.c, 1426 src/ezstream.c, src/strfctns.h, src/strlcat.c, src/strlcpy.c, 1427 src/strlfctns.h, src/strtonum.c: 1428 Improve string to integer conversion stuff, and have another stab 1429 at the config file parsing. Ezstream now prints each error it can 1430 find and then bails out, instead of bailing out on the first 1431 error. Tweak URL parsing as well, and do some cosmetic changes to 1432 the error messages. 1433 14342007-03-02 00:57 moritz 1435 1436 * [r12599] NEWS, doc/ezstream.1.in, src/configfile.c, 1437 src/configfile.h, src/ezstream.c: 1438 Allow users to restrict the number of reconnection attempts. This 1439 also changes how reconnections are handled in general: A 1440 recovered connection always skips to the next tune as well, as it 1441 seems that at least for Ogg Vorbis, libshout wants to see an Ogg 1442 header after a shout_open(). The new code makes this behavior 1443 consistent among all formats. 1444 14452007-03-01 14:50 moritz 1446 1447 * [r12597] configure.in, src/ezstream.c, src/playlist.c, 1448 src/strlcat.c, src/strlcpy.c, src/util.c: 1449 Enable more warnings on gcc, and do some miscellaneous cleanups. 1450 14512007-03-01 01:22 moritz 1452 1453 * [r12596] src/ezstream.c: 1454 Redirect only de-/encoder screen output to /dev/null with -q, and 1455 restore standard error outside that popen() call. 1456 14572007-03-01 00:34 moritz 1458 1459 * [r12595] m4/shout.m4: 1460 Tweak XXX comment. 1461 14622007-03-01 00:10 moritz 1463 1464 * [r12594] README, configure.in: 1465 Make the example configuration files directory configurable. 1466 14672007-02-28 21:48 moritz 1468 1469 * [r12592] NEWS, conf/ezstream_mp3.xml, conf/ezstream_vorbis.xml, 1470 doc/ezstream.1.in, src/configfile.c, src/configfile.h, 1471 src/ezstream.c: 1472 Add new <stream_once> configuration option for disabling 1473 continuous streaming. 1474 14752007-02-28 21:26 moritz 1476 1477 * [r12591] NEWS, conf/ezstream_reencoding_example_mp3.xml, 1478 conf/ezstream_reencoding_example_vorbis.xml, doc/ezstream.1.in, 1479 src/configfile.c, src/configfile.h, src/ezstream.c, 1480 src/playlist.c, src/playlist.h: 1481 Add new playlist scripting feature (works similar to Ices 2.x.) 1482 14832007-02-28 15:35 moritz 1484 1485 * [r12590] configure.in, src/ezstream.c: 1486 Replace geteuid() check with stat(), and make it an error if the 1487 configuration file is group or world writeable. This is actually 1488 what the warning about root was all about. 1489 14902007-02-28 13:53 moritz 1491 1492 * [r12589] src/Makefile.am, src/ezsignals.h, src/ezstream.c: 1493 Back out hardly used ezsignals.h. 1494 14952007-02-28 12:47 moritz 1496 1497 * [r12588] NEWS: 1498 Remove redundant paragraph. 1499 15002007-02-28 12:44 moritz 1501 1502 * [r12587] CHANGELOG, ChangeLog, Makefile.am, NEWS, mkcl.sh: 1503 Make a more standard distribution: Rename CHANGELOG to NEWS, 1504 bring back the complete ChangeLog and add mkcl.sh that contains 1505 the options to generate ChangeLog. 1506 15072007-02-28 11:06 moritz 1508 1509 * [r12586] CHANGELOG, ChangeLog, Makefile.am: 1510 Switch from a generated ChangeLog to a manually maintained and 1511 more compact CHANGELOG. 1512 15132007-02-28 11:03 moritz 1514 1515 * [r12585] src/ezstream.c: 1516 Sync usageHelp() with new reality. 1517 15182007-02-27 14:44 moritz 1519 1520 * [r12576] configure.in: 1521 Let MIPS[pro] C be chatty with warnings and check for basename() 1522 in libgen. Ezstream now builds on IRIX. 1523 15242007-02-27 14:42 moritz 1525 1526 * [r12575] src/ezstream.c: 1527 getopt() returns int, not char. 1528 15292007-02-27 14:41 moritz 1530 1531 * [r12574] m4/xiph_xml2.m4: 1532 Use backticks to execute xml2-config/xslt-config, which is more 1533 portable. 1534 15352007-02-27 12:46 moritz 1536 1537 * [r12573] README: 1538 Document a caveat when building ezstream on Solaris with a 1539 different compiler than the one used to build libshout. 1540 15412007-02-26 20:29 moritz 1542 1543 * [r12572] configure.in, m4/shout.m4: 1544 Make this work on static archs, and get one step closer to SunCC 1545 support on Solaris. Also, don't complain if libshout isn't 1546 thread-safe, as Ezstream isn't multithreaded. 1547 15482007-02-26 19:59 moritz 1549 1550 * [r12571] Makefile.am, configure.in, m4/Makefile.am: 1551 Add m4/ to the distribution tarball. 1552 15532007-02-26 15:28 moritz 1554 1555 * [r12570] Makefile.am, m4/ogg.m4, m4/vorbis.m4: 1556 Unbreak "make distcheck": $prefix is not a good default, use 1557 /usr/local instead. This makes it more likely that installed 1558 libogg and libvorbis are found, when the user (or autoconf) 1559 specifies a different --prefix. Users who installed their 1560 libraries in their homedir now have to set $OGG_PREFIX and 1561 $VORBIS_PREFIX, or set their respective --with arguments. Let the 1562 snapshot target use distcheck now that it works. 1563 15642007-02-26 02:56 moritz 1565 1566 * [r12565] m4/ac_config_libconfig_in.m4, m4/acx_pthread.m4, 1567 m4/ogg.m4, m4/shout.m4, m4/vorbis.m4, m4/xiph_compiler.m4, 1568 m4/xiph_curl.m4, m4/xiph_net.m4, m4/xiph_path_python.m4, 1569 m4/xiph_types.m4, m4/xiph_xml2.m4: 1570 Remove unused .m4 files and sync the used ones with Icecast. 1571 15722007-02-25 18:28 moritz 1573 1574 * [r12564] src/ezstream.c: 1575 Make Ezstream work properly and do the right thing, even when 1576 bombarded with a flurry of simultaneous SIGHUP and SIGUSR1 1577 signals. From what I can tell, signal handling is now quite solid 1578 now. Achieve this by moving most of streamFile() into a new 1579 sendStream() function, which is called within a new do-while loop 1580 inside streamFile(). There, proper behavior is ensured and a race 1581 condition resolved in favor of SIGHUP. 1582 15832007-02-25 16:00 moritz 1584 1585 * [r12563] src/ezstream.c: 1586 Switch from using signal() to sigaction() and friends, so that 1587 SA_RESTART can be used. This is required for Solaris and possibly 1588 others, where signal handlers have to be reinstalled after having 1589 caught one signal via signal(). Also prevent Ezstream from being 1590 killed by a handled signal in streamFile(), where they can 1591 interrupt fread()'s system calls. This improves matters, but 1592 isn't perfect, yet. A SIGHUP signal can still cause skipping to 1593 the next track, which should be triggered only by SIGUSR1. 1594 15952007-02-25 14:00 moritz 1596 1597 * [r12562] Makefile.am, conf/Makefile.am, configure.in, 1598 src/Makefile.am, src/configfile.c, src/configfile.h, 1599 src/ezstream.c, win32/Makefile.am: 1600 Various cleanups and auto-fu tweaks. * Make Makefile.am files 1601 look alike as much as possible. * Remove debug: target and don't 1602 mess with the users DEBUG environment variable: Autoconf checks 1603 for -g and automatically adds it to CFLAGS, which is overridden 1604 by the user's $DEBUG. If the user didn't specify one, "make 1605 install" will strip the resulting binaries and leave the 1606 debugging symbols intact otherwise. * Remove profile: target, as 1607 it is quite pointless in Ezstream. Also, the user can add 1608 profiling flags via the $DEBUG variable as well. * Remove 1609 -ffast-math and -fsigned-char from gcc, and enable two additional 1610 warnings instead. * Unconfuse Solaris compiler flags 1611 (unfortunately, the configure script still fails in the libshout 1612 check with some obscure linker error): Do not force -x04 and 1613 -fast optimizations, let the user decide (it doesn't matter for 1614 Ezstream anyways.) Remove -xgc92, which is deprecated and 1615 actually makes the resulting binary run slower on SPARC. Also 1616 remove -fsimple, which does not help and has the potential of 1617 causing trouble, and don't enable verbose warnings just to 1618 disable them afterwards with -w. Leave only -v for verbose 1619 warnings. * Const'ify getFormat*() functions and blankString, and 1620 squelch a few const- related warnings. * Squelch a signedness 1621 warning and fix two ;; syntax errors. * Add a snapshot target to 1622 Makefile.am that creates a tarball of the form 1623 ezstream-snapshot-YYYYMMDD.tar.gz. 1624 16252007-02-25 03:49 moritz 1626 1627 * [r12557] src/ezstream.c: 1628 Merge changes to the remaining two functions, openResource() and 1629 streamFile(), after which the merge is complete. Changes in 1630 openResource(): * Let the caller know whether we're streaming 1631 from standard input, and give it a copy of the metadata 1632 information. * Make filename extension matching case insensitive. 1633 Ezstream can now stream foo.Ogg out of playlist.tXt. (On that 1634 note, another item from the parseConfig() commit log message was 1635 missing: <format/> and <match/> are also case insensitive now.) 1636 Changes in streamFile(): * New feature: Skip currently playing 1637 track when receiving SIGUSR1. * New feature: When using both the 1638 new -q and -v command line parameters, Ezstream now displays some 1639 "real-time" information: playlist position, elapsed time 1640 streaming the current track, and approximate bitrate in kbps. * 1641 Fix the fread() loop by moving the "if read bytes > 0" condition 1642 into the while statement, and check with ferror() afterwards 1643 whether an error occured. * Remove redundant shout_delay() call. 1644 Ezstream puts itself to sleep with shout_sync(). * Return a value 1645 that makes sense in main()'s do-while loop, instead of whatever 1646 shout_send() returned last. * Remove or prettify a few messages. 1647 16482007-02-25 03:10 moritz 1649 1650 * [r12554] src/ezstream.c: 1651 Merge processMetadata() changes: * Fix how the metadata string is 1652 generated. Don't include the " - " in the output if either artist 1653 or title are missing from ID3v1/Vorbis tags. * Print the correct 1654 error message when ov_open() fails. * Improve filename-based 1655 generation of metadata. Use a copy of fileName for basename(), 1656 which may modify its argument in some places where the old, weird 1657 POSIX implementation is used. Also, basename() is not infallible, 1658 but when it fails, it is annoying for us. Assert that it cannot 1659 fail since we feed it with path names < PATH_MAX (handled in 1660 playlist.c and configfile.c.) In short, make processMetadata() 1661 always return something more or less useful as long as the file 1662 in question can be opened. 1663 16642007-02-25 02:36 moritz 1665 1666 * [r12553] src/ezstream.c: 1667 Merge changes to replaceString() and buildCommandString(), and do 1668 the formatting nitpickery to setMetadata(). Changes in 1669 replaceString(): * Fix a heap overflow. replaceString() would 1670 happily replace multiple '@T@' and '@M@' placeholders and write 1671 into *dest until things blow up. Fix this by using safe string 1672 functions. Then completely prevent it by ensuring that it 1673 replaces only one placeholder per call (adjusting 1674 buildCommandString() accordingly) and already complaining to the 1675 user in parseConfig() about illegal, multiple placeholders in 1676 their command lines. (That parseConfig() change was missing from 1677 the commit log earlier.) In buildCommandString(): * Use xcalloc() 1678 instead of malloc() and get rid of the now redundant memset() 1679 calls. * Allow decoder command lines to contain the '@M@' 1680 metadata placeholder. Useful for combined de-/encoders like 1681 ffmpeg2theora. * Tweak message about "unsupported" format, which 1682 used to be false in the case of Ogg Theora streams. * Plug 1683 several memory leaks. * Don't print the "Executing command 'foo'" 1684 message in this function. 1685 16862007-02-25 01:14 moritz 1687 1688 * [r12552] src/ezstream.c: 1689 Merge changes to main(), urlParse() and streamPlaylist(). In 1690 main(): * Install the signal handler as late as possible. * Add 1691 new command line options: -v (verbose, use twice for even more 1692 verbose output) and -q (quiet, redirect standard error output 1693 from external de-/ encoders to /dev/null.) * It is now an error 1694 to supply more than one -c parameter. This prevents unexpected 1695 results. * Add a stern warning when ezstream is running as root. 1696 Just Don't Do It. Leaving the configfile writeable to others by 1697 accident could mean instant root compromise. * Before handing the 1698 config file over to libxml, try to open it ourselves first. The 1699 error message from strerror() is a lot more helpful than the 1700 cryption I/O error printed by libxml. * Don't preallocate memory 1701 for urlParse(). * Fix command line error messages, they seem to 1702 be for a different program than Ezstream. * More terse libshout 1703 error messages, just print which function failed. I consider 1704 these errors of questionable value for an end user, but at least 1705 a knowledgeable one will know instantly what went wrong. * Case 1706 insensitive matching of playlist file extensions. * Print the 1707 address, port and mountpoint that Ezstream is actually trying to 1708 connect to, instead of what the user supplied. That should make 1709 it easier to spot reasons for connect failures (e.g. typos.) 1710 Changes in urlParse(): * Let urlParse() allocate memory for 1711 hostname and mountpoint, as it knows how much memory is actually 1712 required. * Fix a buffer overflow of the tmpPort buffer by adding 1713 checks and using safe string functions. * Let the caller print an 1714 error message, instead of having the same printf() twice in 1715 urlParse(). The streamPlaylist() function has been rewritten to 1716 use the new playlist_*() routines. Apart from the added playlist 1717 shuffle feature no functional change. 1718 17192007-02-25 00:35 moritz 1720 1721 * [r12551] configure.in: 1722 Add check for geteuid(), which is better than checking for WIN32. 1723 17242007-02-25 00:25 moritz 1725 1726 * [r12550] src/ezstream.c: 1727 Begin merging ezstream.c changes. This first batch includes: * 1728 License reference and various #include cleanups and additions 1729 that are required later. * Add new usage() and usageHelp() 1730 functions (which already contain what's to come.) Move them close 1731 to main() where getopt() is called. * New signal handler, which 1732 now no longer uses printf(). printf() is not safe to use in 1733 signal handlers. Use volatile sig_atomic_t types instead of ints 1734 as flags to set in the handler. * Formatting and const'ifying of 1735 WIN32-basename() and strrcmp(). Rearrange them so that the actual 1736 "worker functions" are grouped together. * Add function 1737 prototypes for those that are already up-to-date. * Rename 1738 ReplaceString() to replaceString() for consistency with other 1739 function names in Ezstream. * Prepare for portable *__progname 1740 usage. 1741 17422007-02-24 23:26 moritz 1743 1744 * [r12549] src/configfile.c: 1745 Merge new parseConfig() function. There were many changes, but 1746 those are too cumbersome to merge separately. They are: * The 1747 usual formatting nitpickings. * Don't leak memory in case of 1748 duplicate entries. Instead make it an error and print a helpful 1749 error message, with config file line number, to the user. * 1750 Replace the manual cast to (const xmlChar *) with libxml2's 1751 BAD_CAST. There probably won't be any UTF8 support in Ezstream 1752 any time soon ... * Remove redundant strlen() check - 1753 xmlNodeListGetString() never returns an empty string if 1754 (cur->xmlChildrenNode != NULL). * Use xstrdup() instead of 1755 malloc() + memset() + strcpy(). * Ensure that boolean 1756 configration options are always either 1 or 0. * Ensure that path 1757 names given via <filename /> do not exceed PATH_MAX. * Add 1758 <shuffle /> configuration option for playlist shuffling. 1759 17602007-02-24 23:05 moritz 1761 1762 * [r12548] src/configfile.c: 1763 Add function to free a configuration in case of an error. 1764 17652007-02-24 23:03 moritz 1766 1767 * [r12547] configure.in: 1768 Fix typo in comment. 1769 17702007-02-24 22:56 moritz 1771 1772 * [r12546] src/configfile.c: 1773 Replace three if-conditionals with one, both in 1774 getFormatEncoder() and getFormatDecoder(), with prettier 1775 formatting. 1776 17772007-02-24 22:50 moritz 1778 1779 * [r12545] src/configfile.c, src/configfile.h: 1780 Const'ify configfile functions. 1781 17822007-02-24 22:25 moritz 1783 1784 * [r12544] src/configfile.c, src/configfile.h: 1785 Add license reference to configfile.c, sync #includes with what 1786 will be required later, getEZConfig() formatting and remove 1787 unused printConfig() function. 1788 17892007-02-24 22:16 moritz 1790 1791 * [r12543] src/configfile.h: 1792 Begin merging configfile.* changes by cleaning up the .h file: 1793 Add license reference, remove prototype of nonexistent 1794 getMetadataGrabber() function, and do some formatting. 1795 17962007-02-24 22:03 moritz 1797 1798 * [r12542] win32/Makefile.am: 1799 Clean core and backup files in this directory as well. Only ~2500 1800 lines of diffs left to merge. 1801 18022007-02-24 22:01 moritz 1803 1804 * [r12541] src/ezsignals.h: 1805 Commit header with three macros that help with signal handling. 1806 Will be actually used later. Now, all new files are in. 1807 18082007-02-24 21:59 moritz 1809 1810 * [r12540] configure.in: 1811 Let the configure script set a (hard-coded, for now) examples 1812 installation directory. This will be made configurable later. 1813 18142007-02-24 21:50 moritz 1815 1816 * [r12539] configure.in: 1817 Add several checks that we need now, i.e. very soon. 1818 18192007-02-24 21:46 moritz 1820 1821 * [r12538] configure.in: 1822 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS, and move config.h into 1823 src/. 1824 18252007-02-24 21:44 moritz 1826 1827 * [r12537] configure.in: 1828 Autoconf 2.61 has a nice macro AC_USE_SYSTEM_EXTENSIONS. Use it, 1829 depend on autoconf-2.61 for it and remove the annoying 1830 _GNU_SOURCE and _XOPEN_SOURCE ... dung. Autoconf takes care of 1831 this, and even checks for more useful stuff for us. 1832 18332007-02-24 21:37 moritz 1834 1835 * [r12536] configure.in: 1836 Generate a Makefile in doc/, and switch to AC_CONFIG_FILES. 1837 18382007-02-24 21:34 moritz 1839 1840 * [r12535] configure.in: 1841 Ezstream does not need libtool, so remove it. Remove other 1842 redundant configure checks as well: AC_PROG_CC and AC_HEADER_STDC 1843 are automatically checked in packages written in C, no need to do 1844 it twice. This shaves a lot off configure runtime. 1845 18462007-02-24 21:29 moritz 1847 1848 * [r12534] configure.in: 1849 Start to incrementally merge configure.in changes by simply 1850 shuffling code around a bit. No functional change, yet. 1851 18522007-02-24 21:19 moritz 1853 1854 * [r12533] Makefile.am: 1855 Hook up doc/ with the build, depend on automake 1.9 and remove 1856 dist-zip for now. The latter will come back after testing on 1857 Windows has been done. 1858 18592007-02-24 21:16 moritz 1860 1861 * [r12532] autogen.sh: 1862 Replace the autogen behemoth with something much simpler. 1863 AC_PREREQ and AUTOMAKE_OPTIONS already take care of version 1864 checks. 1865 18662007-02-24 21:12 moritz 1867 1868 * [r12531] conf/Makefile.am, conf/ezstream_mp3.xml, 1869 conf/ezstream_reencoding_example_mp3.xml, 1870 conf/ezstream_reencoding_example_theora.xml, 1871 conf/ezstream_reencoding_example_vorbis.xml, 1872 conf/ezstream_vorbis.xml: 1873 Clean up and install example configuration files. 1874 18752007-02-24 21:11 moritz 1876 1877 * [r12530] README: 1878 Commit rewritten README file. 1879 18802007-02-24 20:59 moritz 1881 1882 * [r12529] AUTHORS: 1883 Remove AUTHORS. Credits are in the man page. 1884 18852007-02-24 20:58 moritz 1886 1887 * [r12528] INSTALL: 1888 Add INSTALL file for those not familiar with the configure+make 1889 dance. From autoconf-2.61. 1890 18912007-02-24 20:57 moritz 1892 1893 * [r12527] src/Makefile.am, src/strlcat.c, src/strlcpy.c, 1894 src/strlfctns.h: 1895 Add files with safe strlc*() string functions, and hook all new 1896 files into Makefile.am. Also let "make clean" clean up coredumps 1897 and editor backup files. 1898 18992007-02-24 20:52 moritz 1900 1901 * [r12526] doc, doc/Makefile.am, doc/ezstream.1.in: 1902 Add ezstream man page. 1903 19042007-02-24 20:50 moritz 1905 1906 * [r12525] src/playlist.c, src/playlist.h: 1907 Add new playlist handling functions. 1908 19092007-02-24 20:49 moritz 1910 1911 * [r12524] src/util.c, src/util.h: 1912 Add new utility functions, for memory management. These do The 1913 Right Thing and never return NULL. 1914 19152007-02-24 18:55 moritz 1916 1917 * [r12521] configure.in: 1918 Begin to incrementally merge my changes to Ezstream by bumping 1919 the version number and shifting blame to me. This should keep 1920 most of the history in my local CVS repository. There may be 1921 temporary breakages where it doesn't build or package until I'm 1922 done. 1923 19242005-12-14 21:40 oddsock 1925 1926 * [r10593] win32/Makefile.am: 1927 forgot to add the inno setup installer to the dist 1928 19292005-12-14 21:16 oddsock 1930 1931 * [r10592] win32/ezstream.iss: 1932 version bump 1933 19342005-12-14 21:14 oddsock 1935 1936 * [r10590] ChangeLog: 1937 added changelog 1938 19392005-12-14 21:13 oddsock 1940 1941 * [r10589] conf/Makefile.am, configure.in, src/ezstream.c: 1942 added some reconnect logic fixed a buffer overflow on large 1943 id3tags use pclose for popen'd file handles 1944 19452005-01-05 00:38 oddsock 1946 1947 * [r8612] README, conf/ezstream_m3u.xml, conf/ezstream_mp3.xml, 1948 conf/ezstream_reencoding_example.xml, 1949 conf/ezstream_reencoding_example_mp3.xml, 1950 conf/ezstream_reencoding_example_theora.xml, 1951 conf/ezstream_reencoding_example_vorbis.xml, 1952 conf/ezstream_vorbis.xml, configure.in, src/ezstream.c, 1953 win32/ezstream.dsp, win32/ezstream.dsw, win32/ezstream.iss: 1954 cleanup of config files fixed reencoding bug on win32 bump to 1955 version 0.2.0 1956 19572004-12-22 01:49 oddsock 1958 1959 * [r8519] src/ezstream.c: 1960 add passthorough support for unknown types 1961 19622004-07-19 03:48 oddsock 1963 1964 * [r7171] src/configfile.c, win32/ezstream.dsp, win32/ezstream.iss: 1965 some win32 compilation fixes 1966 19672004-07-19 03:12 oddsock 1968 1969 * [r7170] README, conf/Makefile.am, 1970 conf/ezstream_reencoding_example.xml, configure.in, 1971 src/configfile.c, src/configfile.h, src/ezstream.c, 1972 win32/ezstream.dsp: 1973 Added reencoding capabilities to ezstream. 1974 19752004-07-16 04:02 oddsock 1976 1977 * [r7152] win32/ezstream.dsp: 1978 1979 19802004-07-12 19:13 oddsock 1981 1982 * [r7103] src/configfile.c, src/configfile.h, src/ezstream.c: 1983 support for theora streams 1984 19852004-04-21 13:48 oddsock 1986 1987 * [r6563] configure.in, src/.deps, src/ezstream.c: 1988 added ability to send a signal (SIGHUP) which will re-read the 1989 current playlist (m3u) that is being processed. When this 1990 happens, ezstream will pick up from the last track that was 1991 played. 1992 19932004-02-02 04:56 oddsock 1994 1995 * [r5806] README: 1996 stdin now working :) 1997 19982004-02-02 04:39 oddsock 1999 2000 * [r5805] aclocal.m4, configure.in: 2001 * version bump * remove unneeded file 2002 20032004-02-02 04:37 oddsock 2004 2005 * [r5804] src/ezstream.c, win32/ezstream.dsp, win32/ezstream.iss: 2006 * set read mode to binary for stdin on win32 * add libXML to 2007 project file * bump version number 2008 20092004-01-30 17:19 oddsock 2010 2011 * [r5800] ., AUTHORS, COPYING, Makefile.am, README, aclocal.m4, 2012 autogen.sh, conf, conf/Makefile.am, conf/ezstream_m3u.xml, 2013 conf/ezstream_mp3.xml, conf/ezstream_vorbis.xml, configure.in, 2014 m4, m4/ac_config_libconfig_in.m4, m4/acx_pthread.m4, m4/ogg.m4, 2015 m4/shout.m4, m4/vorbis.m4, m4/xiph_compiler.m4, m4/xiph_curl.m4, 2016 m4/xiph_net.m4, m4/xiph_path_python.m4, m4/xiph_types.m4, 2017 m4/xiph_xml2.m4, src, src/.deps, src/.deps/configfile.Po, 2018 src/.deps/ezstream.Po, src/Makefile.am, src/configfile.c, 2019 src/configfile.h, src/ezstream.c, src/getopt.c, src/getopt.h, 2020 win32, win32/Makefile.am, win32/ezstream.dsp, win32/ezstream.dsw, 2021 win32/ezstream.iss: 2022 Initial revision 2023 2024