Why is he like this

So my bf and I are long distance. We have been dating for 4 years. We see each other once a month for about 4 days. Well the past two times he’s gotten mad at me for the stupidest things and it’s bothered me a lot. I told him the first time and he did it this weekend again. Example we were in the car driving to my parents house and I in the passenger seat we listened to a song and I liked it so I put it on again he flipped out since he didn’t want to what it again yet there I am smiling all happy sining and enjoying the moment. Then again we were walking around downtown and I wanted a picture in front of the Christmas tree, no reason flips out at me. He knows I like to have current pictures and listen to music while driving with him both things make me happy so why does he have to yell at me. Then another time he gave me his phone and was letting me texting my mom since my phone died he legit yanked it so hard from my hands yet he was next to me and saw what I was doing (texting my mom) idk if if it’s just the distance or what otherwise he’s nice to me but still it sticks with me. I try bringing it up but it hasn’t go through to him. Also we are both not immature at all so that’s why I find it odd.