# infinityloop1308/pipepipe architecture

> Architecture diagram of the GitHub repository infinityloop1308/pipepipe, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/infinityloop1308/pipepipe
- Repository: https://github.com/infinityloop1308/pipepipe

## Overview

PipePipe is an Android media client fork of NewPipe, combining media discovery, playback, filtering, and playlist features. The README documents capabilities and some integrations, but no source excerpts were provided, so the graph uses the two repository module directories as broad path evidence and omits uncertain internal call chains.

Main entry points: [`PipePipeClient`](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient) (PipePipe app)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Client experience"]
  node_app["PipePipe app"]
  node_sign_in["Cookie sign-in"]
end

subgraph group_playback["Playback and media"]
  node_gesture_controls["Gesture controls"]
  node_sleep_timer["Sleep timer"]
  node_music_mode["Background music"]
  node_codec_support["AV1 and VP9"]
  node_live_chat["Danmaku live chat"]
end

subgraph group_discovery["Discovery and playlists"]
  node_search_filters["Search filters"]
  node_content_filters["Content filters"]
  node_playlist_tools["Playlist tools"]
  node_history_tools["History tools"]
end

subgraph group_integrations["Service integrations"]
  node_extractor["Service extraction"]
  node_youtube["YouTube"]
  node_bilibili["BiliBili"]
  node_sponsorblock["SponsorBlock"]
  node_return_dislike["Return YouTube Dislike"]
end

node_user(("PipePipe user"))

node_user -->|"uses"| node_app
node_app -->|"integrates"| node_sponsorblock
node_app -->|"integrates"| node_return_dislike
node_app -->|"retrieves streams"| node_youtube
node_app -->|"shows chat"| node_bilibili

click node_app "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_sign_in "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_gesture_controls "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_sleep_timer "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_music_mode "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_codec_support "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_live_chat "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_search_filters "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_content_filters "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_playlist_tools "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_history_tools "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient"
click node_extractor "https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeExtractor"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_sign_in,node_user toneBlue
class node_gesture_controls,node_sleep_timer,node_music_mode,node_codec_support,node_live_chat toneAmber
class node_search_filters,node_content_filters,node_playlist_tools,node_history_tools toneMint
class node_extractor,node_youtube,node_bilibili,node_sponsorblock,node_return_dislike toneRose
```

## Components

### Client experience

- [PipePipe app](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`
- [Cookie sign-in](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`

### Playback and media

- [Gesture controls](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`
- [Sleep timer](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`
- [Background music](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`
- [AV1 and VP9](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`
- [Danmaku live chat](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`

### Discovery and playlists

- [Search filters](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`
- [Content filters](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`
- [Playlist tools](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`
- [History tools](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeClient): `PipePipeClient`

### Service integrations

- [Service extraction](https://github.com/infinityloop1308/pipepipe/tree/main/PipePipeExtractor): `PipePipeExtractor`
- **YouTube**
- **BiliBili**
- **SponsorBlock**
- **Return YouTube Dislike**

### Other components

- **PipePipe user**

## Connections

- PipePipe user → PipePipe app: uses
- PipePipe app → SponsorBlock: integrates
- PipePipe app → Return YouTube Dislike: integrates
- PipePipe app → YouTube: retrieves streams
- PipePipe app → BiliBili: shows chat
