Commit Graph

337 Commits

Author SHA1 Message Date
calzoneman c5c40a0386 Address #560 by adding a 'Volume' label 2016-03-23 22:45:54 -07:00
calzoneman 7448429341 Fix #566
Refactored the ffprobe stream-selection logic to handle rejected files
better:

  * Streams tagged as a non-default disposition are not considered
  * If a file has any video stream, the audio stream will be ignored

This should prevent videos from being misreported as invalid audio
codecs, etc.
2016-03-21 23:28:21 -07:00
calzoneman d913f02657 player: call videojs.destroy() when transitioning 2016-03-02 19:31:29 -08:00
calzoneman e07cc0f5aa Remove unused rtmpEventHandler 2016-03-02 19:19:47 -08:00
calzoneman e88031f4c5 Fix rtmp->rtmp transition 2016-03-02 19:18:33 -08:00
calzoneman 908377b20c Set allowfullscreen for iframe embeds 2016-02-21 21:04:35 -08:00
calzoneman 2eb17f4c32 Fix MIME mapping for ogg/vorbis -> audio/ogg 2016-02-09 19:44:07 -08:00
calzoneman b3c85e8534 Limit requestPlaylist to once per 60 seconds
If clients call it quickly in succession with large playlists, it can
cause node to get stuck stringifying socket.io frames and cause an out
of memory crash.
2016-02-06 19:40:50 -08:00
calzoneman 865a7453d9 Undo HD layout before applying synchtube, fluid (#549) 2016-01-03 22:53:29 -08:00
calzoneman 04ffda7a20 Fix race condition in Chrome (#547)
When the changeMedia frame loads a new Google Drive video, @yt is still
set from before and moreover @yt.ready is still true, so calling play()
can result in a TypeError if the new embed hasn't loaded yet (this
seemed to happen consistently in Chrome and I was unable to make it
happen in Firefox).
2015-12-21 17:23:48 -08:00
calzoneman 5a2ef2d24d Minor fixes for queueWarn 2015-12-20 22:35:24 -08:00
calzoneman 176d4cb06f Show custom title UI for `fi:` override (#523) 2015-12-13 11:18:46 -08:00
calzoneman 432ee7bc30 Add warning for inline CSS too large (fixes #538) 2015-12-12 16:49:40 -08:00
calzoneman 11d4c4ca62 Reject blank emote names and images 2015-12-05 18:52:39 -08:00
calzoneman 889fb6595f Add buffer zone to consider scrolling 'caught up' 2015-12-05 18:05:23 -08:00
calzoneman b0d5e92350 Fix autoscrolling changes 2015-12-05 17:57:33 -08:00
calzoneman 3c5d36919b Fix positioning and background color of new message indicator 2015-11-29 10:29:56 -08:00
calzoneman 23f39ab2f5 Improve chat autoscroll behavior
The previous behavior (don't autoscroll if the mouse is over the chat
area) was not intuitive and caused problems for people in chat only
mode, which led to a lot of people assuming that it was a glitch.

This change introduces the following behavior:

  * Hovering over chat no longer affects autoscroll.
  * Scrolling up in chat turns off autoscroll.
  * Scrolling to the bottom of the chatbox resumes autoscroll.
  * If a new message is added while autoscroll is off, a "New Messages
    Below" indicator is added to the bottom of the chatbox.
2015-11-29 09:49:21 -08:00
calzoneman 5c50e93458 Use VideoJS for RTMP (#532) 2015-11-08 19:51:17 -08:00
calzoneman f9e1d329e4 Remove reference to IO_URL in error handler
Referenced in #527
2015-11-06 20:03:01 -08:00
calzoneman 44745d86ac Fix for Wii U browser
Apparently it doesn't send the login cookie if you explicitly set the
socket.io transports to prefer websockets.  Magic.
2015-10-29 20:50:10 -07:00
calzoneman 566e932e7e Reset LASTCHAT when chat is cleared 2015-10-25 17:31:04 -07:00
calzoneman 21c3a1b3cd API changes, add documentation 2015-10-25 17:20:39 -07:00
calzoneman 7b5476874d Minor function change 2015-10-21 20:56:09 -07:00
calzoneman 40e2a608f6 Initial sioconfig migration work 2015-10-19 22:32:00 -07:00
calzoneman dacda65961 Prevent unnecessary duplicate profile boxes 2015-10-19 20:28:33 -07:00
calzoneman 6ed7ca8dbb Upgrade to video.js 5.0 2015-10-17 18:45:13 -07:00
Calvin Montgomery 9f4461a779 Merge pull request #507 from calzoneman/channel-store
Refactor channel storage to allow database store
2015-10-04 23:22:05 -07:00
calzoneman 81cbfc0639 Merge branch '3.0' into channel-store 2015-09-30 21:58:03 -07:00
calzoneman 7875dbdf4a Handle 'best' quality preference in VideoJSPlayer 2015-09-30 18:26:23 -07:00
calzoneman b2a4afd9ff Merge www/js/player.js from gdrive-youtube 2015-09-26 20:00:07 -07:00
calzoneman 5ec9c2b029 Start refactoring channel storage 2015-09-23 21:56:04 -07:00
calzoneman 3356a55fbd Fix modal issue 2015-09-16 20:20:51 -07:00
calzoneman c81ae989fd Add auth_timeout parameter 2015-09-16 00:04:34 -07:00
calzoneman bfe36e8150 Hack YouTube flash player for Google Drive 2015-09-15 23:32:01 -07:00
calzoneman de02cdbeff Intelligently split link lists to allow URLs with commas 2015-08-19 23:27:05 -07:00
calzoneman 6f7b34f644 Minor fixes to source quality sorting 2015-08-03 19:02:56 -07:00
Calvin Montgomery eb02ad0836 Merge pull request #499 from calzoneman/gdrive-captions
Support captions/subtitles for Google Drive videos
2015-07-27 17:42:32 -07:00
calzoneman d86c62664c Fixes for Chrome 2015-07-26 13:29:06 -07:00
calzoneman f12397db23 Minor fixes for Google Drive subtitles 2015-07-26 12:28:43 -07:00
calzoneman 523ebf4aea Fix video not being restored when getplaylist modal is closed 2015-07-26 11:41:54 -07:00
calzoneman 4a0cbce575 Use lang_original if subtitle name is empty 2015-07-25 11:46:18 -07:00
calzoneman 33e7f81fa7 Wire up google drive subtitles 2015-07-25 01:19:32 -07:00
Calvin Montgomery dda5077727 Merge pull request #498 from calzoneman/comma-multi-queue
Add comma-separated queueing for multiple items
2015-07-21 21:46:28 -07:00
calzoneman 06347d6c25 Fix hidePlayer() 2015-07-16 21:43:21 -07:00
calzoneman d76af73286 Add comma-separated queueing for multiple items 2015-07-16 19:14:55 -07:00
Calvin Montgomery 6e7225aa0d Change mediaurl keydown to keyup so that the Title box shows correctly 2015-07-09 21:45:41 -07:00
calzoneman bba6b29483 Fix ustream embeds 2015-07-07 19:30:39 -07:00
Calvin Montgomery c0f76bcf00 Add fullscreen button 2015-07-06 17:35:04 -07:00
calzoneman 70be8a6713 Resolve merge conflict 2015-07-06 11:28:18 -07:00
calzoneman 2b6d980aeb Remove redundancy 2015-07-06 11:23:58 -07:00
calzoneman e40db5f27e Fix mediaquery for contentType 2015-07-06 11:21:52 -07:00
calzoneman e3d12007b3 Fix css/js textboxes on channelCSSJS frame 2015-07-05 17:52:51 -07:00
Calvin Montgomery 44f1091952 Remove redundancy by extending EmbedPlayer for Twitch 2015-07-05 14:04:21 -07:00
Calvin Montgomery aad8eef52b Add LIVESTREAM_CHROMELESS flag 2015-07-05 14:00:59 -07:00
Calvin Montgomery 9f030376b5 Fix VideoJS volume 2015-07-05 13:50:34 -07:00
Calvin Montgomery 62ed922c73 Fix leader 2015-07-05 13:29:06 -07:00
calzoneman 35500822d2 Fixes 2015-07-03 11:24:21 -07:00
calzoneman 9db9856a4e Fix stuck loading spinner on IE 2015-07-01 23:59:21 -07:00
calzoneman c422fa65fc Add fileplayer 2015-07-01 09:38:01 -07:00
calzoneman b34ea01c3d Changes to how custom embeds work 2015-06-29 18:32:18 -07:00
calzoneman 7fee1414e2 Use VideoJSPlayer for vimeo workaround 2015-06-28 09:42:21 -07:00
calzoneman b34f972629 Add imgur and ustream 2015-06-21 10:39:16 -04:00
calzoneman 8dd3280305 Add hitbox and update mixed content errors 2015-06-21 10:27:51 -04:00
calzoneman b279a41122 Add RTMP player 2015-06-19 22:12:48 -04:00
calzoneman f43e46c716 Fix loading no_emotes setting 2015-06-19 14:49:49 -04:00
calzoneman 01fbd3c54e Work on custom embeds 2015-06-18 18:46:33 -04:00
calzoneman 60743bd2ea Add twitch player 2015-06-16 16:44:14 -04:00
calzoneman cf5756227d Add livestream.com player 2015-06-16 12:50:17 -04:00
calzoneman 480497bea4 Initial soundcloud implementation 2015-06-16 07:39:39 -04:00
calzoneman d9f06a50de Fix 484 2015-06-04 00:57:51 -04:00
Anthony Parsons 35b2920c52
Fix a typo 2015-05-21 17:48:00 +01:00
calzoneman ce8ac4591e Use VideoJS for google+ 2015-05-15 01:19:08 -05:00
calzoneman fe9ebfa6b1 Start working on VideoJS for Google Drive 2015-05-15 00:03:05 -05:00
calzoneman 7bc247ede2 Fix 'remove video' option 2015-05-14 13:14:45 -05:00
calzoneman 8b69485448 Show emote list button in chat only 2015-05-14 11:42:26 -05:00
calzoneman 86bd20d5cc Minor fix for emote insertion 2015-05-13 12:19:03 -05:00
calzoneman 8927613da7 Add emote search, sort toggle 2015-05-13 12:17:32 -05:00
calzoneman 691ec3055c Fix emote insertion behavior 2015-05-12 13:53:19 -05:00
calzoneman 389dd0d5ab Initial emote list implementation 2015-05-12 13:50:59 -05:00
Xaekai 2dd1db166a Fix annoyance: Clicking Remove video scrolls to top 2015-05-06 12:14:56 -07:00
calzoneman daf2463a6a Start working on Dailymotion 2015-05-05 15:06:37 -05:00
calzoneman a291836a99 Change USEROPTS.default_quality values 2015-05-02 17:55:00 -05:00
calzoneman d7b69bce38 Fixes 2015-05-02 17:37:09 -05:00
calzoneman 391ea264f5 Work on player rewrites 2015-05-02 11:45:35 -05:00
calzoneman ae899fd9be Continue working on YouTube player 2015-04-30 15:26:09 -05:00
calzoneman d77497aaa7 Work on YouTube player 2015-04-23 22:24:43 -05:00
calzoneman e2c3b2daad Fix PM maxlength and throttling 2015-04-23 21:49:15 -05:00
calzoneman f0c75211fb Start working on player rewrite 2015-04-23 21:40:08 -05:00
calzoneman dd48da19c0 Add build-player script 2015-04-23 21:19:55 -05:00
Erik 566c4c174e make sure the user understand this is for real 2015-04-20 16:09:21 -04:00
calzoneman f4a9f0b21b linewrap queue alerts 2015-03-27 19:08:58 -05:00
Calvin Montgomery e1c8d5c6c9 Fix Ustream 2015-03-23 16:10:00 -07:00
calzoneman 3290501e81 Fix google drive/google+ 'highest available' quality 2015-03-20 14:23:44 -05:00
calzoneman f3fe933f6e Support new google drive link format 2015-03-20 13:57:13 -05:00
Calvin Montgomery 8bee1afad1 Fix issue with channel settings not being updated 2015-02-27 13:10:38 -06:00
Erik 3ae2deca7c Fix cancel for kick/ban/ipban 2015-02-21 21:34:25 -05:00
Xaekai 1c263f825b Add line start anchors to the shorthand URI parsers 2015-02-21 12:26:03 -08:00
Xaekai 1f7940711d Resolve missing closing parenthesis on the generic matcher. 2015-02-18 18:44:17 -08:00
Xaekai 5c6a966e6f Use a generic matcher for the shorthand URIs. 2015-02-16 22:40:18 -08:00
Xaekai a636082500 Enhance media link parser.
Accept the shorthand URI style used in the logs as valid.
Add an underscore to the DailyMotion negated group to prevent dupe abuse.
2015-02-16 00:33:44 -08:00
calzoneman 9938f2c605 Change all textbox keyup to keydown
Fixes an issue repoted by dragondread in IRC where a popup character map
was unintentionally triggering the keyup event after a character was
selected.
2015-02-13 13:40:58 -06:00
calzoneman d7d3534d62 jquery cdn sucks 2015-02-10 23:07:57 -06:00
calzoneman dfdab263a5 Fix safe nick for hover 2015-02-05 22:23:54 -06:00
Xaekai 6eed208527 Correct chevron pull classing 2015-02-04 23:27:25 -08:00
Xaekai 0b2ae90d3f Change userlist chevron appearance on toggle.
Change userlist chevron placement for Synchtube layout
2015-02-04 23:14:51 -08:00
Calvin Montgomery 583e7e7616 Merge pull request #431 from calzoneman/hitbox
Add hitbox support
2015-01-27 00:29:44 -06:00
calzoneman 5a95bacee4 Fix youtube...again 2015-01-22 23:34:39 -06:00
calzoneman 50bf876010 Add hitbox support 2015-01-22 23:21:31 -06:00
calzoneman e76fd7b1c4 Fix client motd issue 2015-01-16 19:35:26 -06:00
Calvin Montgomery d7ef0d1893 Merge pull request #428 from calzoneman/sanitize-html
Merge sanitize-html into 3.0 #yolo
2015-01-14 13:23:01 -06:00
calzoneman 139825168f Fix for private, but embeddable soundcloud tracks 2015-01-11 12:10:09 -06:00
calzoneman 80c4c90bcf Migrate old MOTDs and don't replace \n with <br> after 2015-01-08 20:07:02 -06:00
Calvin Montgomery c1ef0848cd Add CSS classes for muted users (#426)
- If a user is muted, the `userlist_muted` class is added to the
  corresponding `.userlist_item`.
- If the user is shadowmuted, the `userlist_smuted` and `userlist_muted`
  classes are added.
- If the user is AFK, the `userlist_afk` class is added.
2015-01-07 15:58:36 -05:00
Calvin Montgomery cd22570c40 Hopefully fix youtube setPlaybackQuality once and for all 2015-01-04 16:46:40 -05:00
Calvin Montgomery 3423f43f2f https://www.youtube.com/watch?v=9u6Bfnq3aZk 2015-01-03 21:36:58 -05:00
Calvin Montgomery 0c23b8a4c5 Update Copyright year; remove old junk 2014-12-31 12:06:29 -05:00
Calvin Montgomery 4319111f47 Remove console.log 2014-12-28 19:09:41 -05:00
Calvin Montgomery 25eba6ab2b Improve filter handling code 2014-12-28 11:12:37 -05:00
Calvin Montgomery 709724efd4 Warn moderators when a channel exceeds size limit
When the chandump is saved, the size of the file is checked.  If it is over the limit, moderators are displayed a message indicating that the channel is too large and they should remove extra playlist items, filters, and/or emotes.

This is a partial solution for #421.
2014-12-26 11:19:19 -05:00
Calvin Montgomery db7d1a22c8 Resolve #420 2014-12-19 14:39:10 -05:00
calzoneman a3a9fa074e Improve behavior of custom embed w.r.t. https
Instead of silently failing when browser policy blocks HTTP embeds over HTTPS, pre-fill the video div with an error message and attempt to salvage the link with s/http/https/g.
2014-12-10 23:56:17 -06:00
calzoneman db56a8869d Fix #417 2014-12-07 13:42:18 -06:00
calzoneman cf60994895 Dailymotion is a completely functional site programmed by competent people 2014-12-04 15:55:15 -06:00
calzoneman b587da6701 Several fixes
- User playlists should now list correctly (fixed a race condition)
  - Livestream types can autoplay (no longer stuck at currentTime = -3)
  - Playlist items with NaN duration do not break user playlist saving
  - ffmpeg support can handle live media (e.g. icecast)
  - Invalid volume is sanitized and an error message is added
  - JWPlayer displays correctly for both HTML5 and Flash
  - JWPlayer volume synchronization is fixed
  - <audio> and <video> tags are scaled correctly with .embed-responsive-item
2014-12-02 22:21:52 -06:00
calzoneman b09346392e Slight tweak to nick hovers 2014-11-24 19:32:06 -06:00
calzoneman 2f2ed8aaf9 Fix Twitch not working on HTTPS and allow HTTPS channel page 2014-11-24 19:24:47 -06:00
calzoneman 214353acab Fix JWPlayer issue some Firefox users are experiencing 2014-11-22 01:01:32 -06:00
calzoneman e0191a50f0 Fix #414; use CDNs for bootstrap,jquery 2014-11-20 23:10:40 -06:00
calzoneman 610fd5a7c3 Handle #412 2014-11-16 11:19:14 -06:00
calzoneman 2f9b5ffe6a Fix misaligned checkbox in new poll menu 2014-11-16 11:15:08 -06:00
calzoneman af4f0fd211 Fix chat disappearing if the video player is gone 2014-11-15 16:52:18 -06:00
Calvin Montgomery 43cc336e07 Merge pull request #410 from calzoneman/responsive-embed
Update Bootstrap to 3.3; improve automatic video/chat resizing with responsive-embed
2014-11-15 11:15:10 -06:00
calzoneman 08f9aeaedb JWPlayer fixes 2014-11-13 20:24:05 -06:00
calzoneman 7310dabedf CSS fixes 2014-11-12 19:56:29 -06:00
calzoneman 9f18a6978e Still WIP 2014-11-11 19:48:08 -06:00
calzoneman 7708cf1aca Resolve #408 2014-11-11 15:48:34 -06:00
calzoneman 2c45177cc0 Responsive embed, WIP 2014-11-10 22:43:49 -06:00
calzoneman b49cd1b146 I'll take "hacks that shouldn't work" for 00 2014-11-01 12:12:22 -05:00
calzoneman 4c5d441931 Minor update 2014-10-24 10:30:23 -05:00
calzoneman 6e0735f3fe Update to socket.io 1.0 2014-10-24 10:23:30 -05:00
calzoneman 12804d1052 Add UI option for no emotes (#404) 2014-10-23 23:21:44 -05:00
calzoneman d676abc722 Fix: pressing enter now submits login form on channel page 2014-10-08 22:36:33 -05:00
calzoneman e13e695077 Allow limiting # items per user 2014-10-06 11:32:25 -05:00
calzoneman 2b60ab8e10 Add permission for #402; fix a strange jwplayer issue 2014-09-06 22:59:28 -05:00
calzoneman 71114b0060 Fix: don't search channel library if rank < seeplaylist 2014-09-04 20:53:18 -05:00
calzoneman bc3f20198c I'm not sure who to hate more 2014-09-02 17:30:41 -05:00
calzoneman 79d636ea89 Fix chrome incompatibility 2014-09-02 17:28:16 -05:00
calzoneman 293f943a9a Accept drive.google.com/file/d/blah as a substitute for docs.google.com/file/d/blah 2014-09-02 16:50:26 -05:00
calzoneman 91c24518c5 Conditionally allow ASCII characters (for Xaekai) 2014-08-29 16:38:57 -05:00